1. 创建一个 Article 资源
  2. php artisan make:resource Article
  3. 你可以在 app/Http/Resources 目录下看到你刚刚生成的 Article 资源
  4. 当然我们还需要 Article 的数据库迁移、模型和控制器。我们能用这个命令快速的创建这些。
  5. 创建相关的modelcontrlloer
  6. php artisan make:model Models/Article -mc

  7. 修改迁移文件:跟目录databaes/migrations/2018_11_02_062640_create_articles_table
  8. 具体字段类型和索引,请参考https://laravelacademy.org/post/6171.html
  9.  
  10. public function up()
  11. {
  12. Schema::create('articles'/*表名*/, function (Blueprint $table) {
  13. $table->/*字段类型 主键,默认11*/increments('uid')->comment('用户id');//字段和备注
  14. $table->/*字段类型 varchar 30*/string('username','60')->/*唯一索引*/unique()->comment('用户名称');
  15. $table->/*字段类型 varchar 30*/string('email','30')->unique()->comment('用户邮箱');
  16. $table->ipAddress('ipAddress')->comment('ip地址');
  17. $table->timestamps();
  18. });
  19. }
  20. 然后我们运行命令创建对应数据表(然后你的数据库中就会生成 migrations//迁移文件表 articles//你创建的表):
  21.  
  22. php artisan migrate
  23. //如表结构填错了可执行回滚操作重新创建
  24. php artisan migrate:rollback
  25. 回到我们的model层:fillable 里面的字段我们可以进行createupdate
  26.  
  27. <?php
  28. namespace App\Models;
  29.  
  30. use Illuminate\Database\Eloquent\Model;
  31.  
  32. class Article extends Model
  33. {
  34. protected $fillable = ['username', 'email', 'ipAddress'];
  35. }
  36. laravel 自带的有个填充数据的工具为我们添加测试数据:
  37. 填充器说明:https://laravelacademy.org/post/9153.html
  38. 就会成功一个databaes/migrations/seeds/ArticlesTableSeeder.php文件
  39.  
  40. php artisan make:seeder ArticlesTableSeeder
  41. 然后编辑databaes/migrations/seeds/ArticlesTableSeeder.php文件:填充50条数据
  42.  
  43. use App\Models\Article;
  44.  
  45. //修改run方法Article::create里面的字段就是
  46. //protected $fillable = ['username', 'email', 'ipAddress'];
  47. public function run()
  48. {
  49. // Let's truncate our existing records to start from scratch.
  50. Article::truncate();
  51. $faker = \Faker\Factory::create();
  52. // And now, let's create a few articles in our database:
  53. for ($i = 0; $i < 50; $i++) {
  54. Article::create([
  55. 'username' => $faker->name.str_random(5),
  56. 'email' => str_random(10).'@baidu.com',
  57. 'ipAddress' => '127.0.0.1',
  58. ]);
  59. }
  60. }
  61. 运行填充器命令进行填充表里的数据就有了
  62.  
  63. php artisan db:seed --class=ArticlesTableSeeder
  64. 如果填充多张表的数据填充编辑:databaes/migrations/seeds/DatabaseSeeder.php
  65.  
  66. public function run()
  67. {
  68. $this->call(ArticlesTableSeeder::class);//填充articles
  69. $this->call(InfoTableSeeder::class);//填充info
  70. }
  71. //然后执行,php artisan db:seed
  72. 编辑ArticleController.phpEloquent操作可以参考https://learnku.com/articles/6356/laravel-eloquent-usage:
  73.  
  74. //查询所有
  75. public function index()
  76. {
  77. return Article::all();
  78. }
  79.  
  80. //根据uid
  81. public function show($uid)
  82. {
  83. //Article::where(['uid'=>$uid])->first();
  84. return Article::where('uid',$uid)->first();
  85. }
  86. 添加路由
  87. Route::get('articles/{uid}', 'ArticleController@show');
  88. 一个简单接口功能就实现了
  89. http://127.0.0.1:8081/api/articles/1
  90. {"uid":1,"username":"Mr. Jamie Mohruwec7","email":"9gihcYEVzk@baidu.com","ipAddress":"127.0.0.1","created_at":"2018-11-02 07:13:26","updated_at":"2018-11-02 07:13:26"}

laravel 实现一个简单的 RESTful API的更多相关文章

  1. Java框架spring Boot学习笔记(九):一个简单的RESTful API

    RESTful API设计需求如下: User.java package com.springboot.test; public class User { private Long id; priva ...

  2. 基础项目构建,引入web模块,完成一个简单的RESTful API 转载来自翟永超

    简介 在您第一次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复粘贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot ...

  3. 一、基础项目构建,引入web模块,完成一个简单的RESTful API

    一.Spring Boot的主要优点: 为所有Spring开发者更快的入门 开箱即用,提供各种默认配置来简化项目配置 内嵌式容器简化Web项目 没有冗余代码生成和XML配置的要求 二.使用maven构 ...

  4. 使用webpy创建一个简单的restful风格的webservice应用

    下载:wget http://webpy.org/static/web.py-0.38.tar.gz解压并进入web.py-0.38文件夹安装:easy_install web.py 这是一个如何使用 ...

  5. 使用springboot实现一个简单的restful crud——01、项目简介以及创建项目

    前言 之前一段时间学习了一些springboot的一些基础使用方法和敲了一些例子,是时候写一个简单的crud来将之前学的东西做一个整合了 -- 一个员工列表的增删改查. 使用 restful api ...

  6. 简单说说Restful API

    前言: 最近一段时间,一直在低头敲代码,开发平台对外交互的API接口,功能已经大体完成了,回过头来看看自己的接口设计文档,不胜感慨,想当初自己也是为"接口名称"想破了脑袋,各种百度 ...

  7. 使用springboot实现一个简单的restful crud——03、前端页面、管理员登陆(注销)功能

    前言 这一篇我们就先引入前端页面和相关的静态资源,再做一下管理员的登陆和注销的功能,为后续在页面上操作数据做一个基础. 前端页面 前端的页面是我从网上找的一个基于Bootstrap 的dashboar ...

  8. 《Web Development with Go》实现一个简单的rest api

    设计模式完了之后,应该实现具体的应用了. 设计模式还得没事就要复习. web应用,学习的是网上的一本书. <Web Development with Go> package main im ...

  9. 使用springboot实现一个简单的restful crud——02、dao层单元测试,测试从数据库取数据

    接着上一篇,上一篇我们创建了项目.创建了实体类,以及创建了数据库数据.这一篇就写一下Dao层,以及对Dao层进行单元测试,看下能否成功操作数据库数据. Dao EmpDao package com.j ...

随机推荐

  1. Socket TCP客户端和服务器的实现

    import java.io.*; import java.net.Inet4Address; import java.net.InetSocketAddress; import java.net.S ...

  2. day 11 - 2 装饰器练习

    1.编写装饰器,为多个函数加上认证的功能(用户的账号密码来源于文件)要求登录成功一次,后续的函数都无需再输入用户名和密码 FLAG = False def login(func): def inner ...

  3. RedisGeo

    redis3.2版本增加了对GEO(地理位置)的支持 操作命令 geoadd(String key, Double longitude, Double latitude, String member) ...

  4. win10 python27pyhton36共存

    先前安装了python36 然后安装python27,安装步骤如下 1. 到官网下载https://www.python.org/downloads/windows/,我的是win10 64位,选择了 ...

  5. webpack打包生成多个vendor的配置方法

    用webpack打包项目的时候,一般喜欢把一些公用的库打包的vendor.js里面,比如像react,react-router,redux等. 随着引入的库越来越多,vendor文件也变得越来越大,于 ...

  6. 【转】Java并发编程:如何创建线程?

    一.Java中关于应用程序和进程相关的概念 在Java中,一个应用程序对应着一个JVM实例(也有地方称为JVM进程),一般来说名字默认是java.exe或者javaw.exe(windows下可以通过 ...

  7. Python2018-字符串中字符个数统计

    1 编写程序,完成以下要求: 统计字符串中,各个字符的个数 比如:"hello world" 字符串统计的结果为: h:1 e:1 l:3 o:2 d:1 r:1 w:1 prin ...

  8. Uncaught RangeError: Maximum call stack size exceeded

    环境: jquery+bootstrap+bootstrapValidator 问题描述:有个form表单,一点击按钮提交,就会报如题错误.正常应该是去校验表单输入. 解决: 从日志分析来看,报错的起 ...

  9. 前端 ---client、offset、scroll系列

    client.offset.scroll系列   1.client系列 代码如下: <!DOCTYPE html> <html> <head> <meta c ...

  10. 点9图 Android设计中如何切图.9.png

    转载自:http://blog.csdn.net/buaaroid/article/details/51499516 本文主要介绍如何制作 切图.9.png(点9图),另一篇姊妹篇文章Android屏 ...