larvel php restful_laravel 实现一个简单的 RESTful API
创建一个 Article 资源
php artisan make:resourceArticle
你可以在 app/Http/Resources 目录下看到你刚刚生成的 Article 资源
当然我们还需要 Article 的数据库迁移、模型和控制器。我们能用这个命令快速的创建这些。
创建相关的model和contrlloer
php artisan make:model Models/Article -mc
修改迁移文件:跟目录databaes/migrations/2018_11_02_062640_create_articles_table
具体字段类型和索引,请参考https://laravelacademy.org/post/6171.html
public functionup()
{
Schema::create('articles'/*表名*/, function (Blueprint $table) {$table->/*字段类型 主键,默认11*/increments('uid')->comment('用户id');//字段和备注
$table->/*字段类型 varchar 30*/string('username','60')->/*唯一索引*/unique()->comment('用户名称');$table->/*字段类型 varchar 30*/string('email','30')->unique()->comment('用户邮箱');$table->ipAddress('ipAddress')->comment('ip地址');$table->timestamps();
});
}
然后我们运行命令创建对应数据表(然后你的数据库中就会生成 migrations//迁移文件表 articles//你创建的表):
php artisan migrate//如表结构填错了可执行回滚操作重新创建
php artisan migrate:rollback
回到我们的model层:fillable 里面的字段我们可以进行create和update<?php
namespace App\Models;useIlluminate\Database\Eloquent\Model;class Article extendsModel
{protected $fillable = ['username', 'email', 'ipAddress'];
}
laravel 自带的有个填充数据的工具为我们添加测试数据:
填充器说明:https://laravelacademy.org/post/9153.html
就会成功一个databaes/migrations/seeds/ArticlesTableSeeder.php文件
php artisan make:seeder ArticlesTableSeeder
然后编辑databaes/migrations/seeds/ArticlesTableSeeder.php文件:填充50条数据useApp\Models\Article;//修改run方法Article::create里面的字段就是
//protected $fillable = ['username', 'email', 'ipAddress'];
public functionrun()
{//Let's truncate our existing records to start from scratch.
Article::truncate();$faker = \Faker\Factory::create();//And now, let's create a few articles in our database:
for ($i = 0; $i < 50; $i++) {
Article::create(['username' => $faker->name.str_random(5),
'email' => str_random(10).'@baidu.com',
'ipAddress' => '127.0.0.1',]);
}
}
运行填充器命令进行填充表里的数据就有了
php artisan db:seed --class=ArticlesTableSeeder
如果填充多张表的数据填充编辑:databaes/migrations/seeds/DatabaseSeeder.phppublic functionrun()
{$this->call(ArticlesTableSeeder::class);//填充articles
$this->call(InfoTableSeeder::class);//填充info
}//然后执行,php artisan db:seed
编辑ArticleController.phpEloquent操作可以参考https://learnku.com/articles/6356/laravel-eloquent-usage:
//查询所有
public functionindex()
{return Article::all();
}//根据uid
public function show($uid)
{//Article::where(['uid'=>$uid])->first();
return Article::where('uid',$uid)->first();
}
添加路由
Route::get('articles/{uid}', 'ArticleController@show');
一个简单接口功能就实现了
http://127.0.0.1:8081/api/articles/1
{"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"}
larvel php restful_laravel 实现一个简单的 RESTful API相关推荐
- 启动服务错误5拒绝访问_【Go API 开发实战 5】基础1:启动一个最简单的 RESTful API 服务器...
启动一个最简单的 RESTful API 服务器 本节核心内容 启动一个最简单的 RESTful API 服务器 设置 HTTP Header API 服务器健康检查和状态查询 编译并测试 API 本 ...
- 【Go API 开发实战 5】基础1:启动一个最简单的 RESTful API 服务器
本节核心内容 启动一个最简单的 RESTful API 服务器 设置 HTTP Header API 服务器健康检查和状态查询 编译并测试 API 本小节源码下载路径:demo01 可先下载源码到本地 ...
- 【译】使用python创建一个简单的restful风格的webservice应用
2019独角兽企业重金招聘Python工程师标准>>> 这是一个如何使用python快速构建简单restful风格webservice的应用教程. 1.分析rest路由规则 rest ...
- 使用Webtask.io创建一个简单的REST API端点
by ismapro 由ismapro 使用Webtask.io创建一个简单的REST API端点 (Create a simple REST API endpoint using Webtask.i ...
- 一个基于Spring极度简单的Restful API工具
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 作者:小 ...
- spark restful_使用Spark构建简单的RESTful API
spark restful 免责声明 :这篇文章是关于名为Spark的Java微型Web框架的,而不是关于数据处理引擎Apache Spark的 . 在此博客文章中,我们将看到如何使用Spark构建简 ...
- 使用Spark构建简单的RESTful API
免责声明 :这篇文章是关于名为Spark的Java微型Web框架的,而不是关于数据处理引擎Apache Spark的 . 在此博客文章中,我们将看到如何使用Spark构建简单的Web服务. 如免责声明 ...
- python︱微服务Sanic制作一个简易本地restful API
文章目录 一.Snaic基本功能 1.Routing路由 1.1 传入参数且参数格式规定 1.2 路由的第二种写法 2.Request 请求 3.Response 3.1 文本格式 3.2 HTML ...
- 【业余开发笔记】用gradle构建一个简单的rest api
以下是一些gradle构建项目的使用笔记,由于自己对maven也算太了解,所以不谈区别和优劣了,就简单总结一下关于gradle的使用好了. 以下是关于用gradle构建一个以spring boot为框 ...
最新文章
- 树套树 ---- 树状数组套权值线段树模板题 P2617 Dynamic Rankings 动态第K大
- 碾压专业机构,27 岁华裔小伙推出美国最准新冠预测模型
- open(/dev/ietctl, O_RDWR) 参数含义
- js经典校验之注册与登录校验
- Oracle-PL/SQL基础
- CV:基于深度学习实现目标检测之GUI界面产品设计并实现图片识别、视频识别、摄像头识别(准确度非常高)
- 微信公众号支付开发全过程(java版)
- java开发组态软件下载_基于JAVA的煤矿安全监控系统组态软件设计研究.pdf
- 建立你的RoR学习环境(Windows)之一
- 为单个Web应用程序配置多个上下文根– JBoss
- pycharm-设快捷代码热键
- mongodb和mysql的语法_Mongodb和mysql的区别
- CDialog 放到 CDockablePane里,总在外面显示?
- RealView MDK在链接时提示空间不够的解决方案总结
- 评论计算机课程讲师教学质量,浅谈信息技术课堂评价的策略
- pytorch.tensor格式图像的resize操作
- 拓端tecdat|R语言估计获胜概率:模拟分析学生多项选择考试通过概率可视化
- 怎么用谷歌或百度搜自己在csdn内的文章呢?
- 【算法】二叉树遍历算法总结:前序中序后序遍历
- 计算机二级(C语言)备考