laravel开发restfulAPI

本文详述了使用Laravel框架构建RESTful API的过程,包括生成测试数据、实现初步API系统、返回JSON格式、字段映射、代码重构、错误控制、用户认证、Dingo API和JWT-Auth的集成,以及OAuth2.0的使用。文章通过逐步指导,展示了如何高效地开发和认证API。
摘要由CSDN通过智能技术生成

一、生成测试数据


首先建立表,建立model,建立controller。

然后使用faker自动生成数据。

database--factories--ModelFactory.php

$factory ->define(App\Lesson::class,function(Faker\Generator $faker){

return [

'title' = > $faker->sentence,

'body' =>$faker->paragraph,

'free' => $faker->boolean();

];

});

php artisan tinker

namespace App;

factory(Lesson::class,60)->create();//生成60条数据


二、初步实现API系统


1.路由:

Routes::group(['prefix' => 'api/v1'], function(){

Route::resource('lessons','LessonsController');

});

php artisan route:list;//查看路由

2.返回JSON格式

return Lesson::all();

$lesson=Lesson::findOrFail($id); return $lesson;

//return 会自动转换为JSON格式

3.在Model文件中

protected $hidden = ['title'];//禁止输出某些属性

4.直接return问题

1)暴露数据结构

2)没有错误提示

三、API字段映射

1.增加提示消息

return \Response::json([

'status'=>'success',

'status_code'=> 200,

'data'  =>$lessons->toArray();

]);

2.防止暴露数据库表结构

'data' => $this->transform($lessons);

private function transformCollection($lessons)

{

return array_map([$this,'transform'],$lessons->toArray());

}

private function transform($lesson)

{

return[

'title' =>$lesson['title'],

'content' => $lesson['body'],

'is_free' => (boolean)$lesson['free']

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值