php restfull api,Laravel 入门系列(二):RESTFull API 记录开发过程

开发步骤

一、生成控制器

php artisan make:controller Api/CronTaskController --resource

二、控制器中添加构造验证中间件

/**

* Create a new AuthController instance.

* 要求附带email和password(数据来源users表)

*

* @return void

*/

public function __construct()

{

// 验证登录

$this->middleware('auth:api', ['except' => ['login']]);

}

三、增加对应路由规则

Route::resource('crontask', 'Api\CronTaskController');

四、访问对应地址

方法

路径

动作

路由名称

GET

/crontask

index

crontask.index

GET

/crontask/create

create

crontask.create

POST

/crontask

store

crontask.store

GET

/crontask/{id}

show

crontask.show

GET

/crontask/{id}/edit

edit

crontask.edit

PUT/PATCH

/crontask/{id}

update

crontask.update

DELETE

/crontask/{id}

destroy

crontask.destroy

五、表单验证处理- 创建表单请求

5.1 创建一个「表单请求」

面对更复杂的验证情境中,你可以创建一个「表单请求」来处理更为复杂的逻辑。表单请求是包含验证逻辑的自定义请求类。可使用 Artisan 命令 make:request 来创建表单请求类:

php artisan make:request StoreCronTask

新生成的类保存在 app/Http/Requests 目录下。如果这个目录不存在,运行 make:request 命令时它会被创建出来。让我们添加一些验证规则到 rules 方法中:

app/Http/Requests/StoreCronTask.php

/**

* 获取适用于请求的验证规则

*

* @return array

*/

public function rules()

{

return [

'LineInfo' => 'required|string|between:2,80',

'cid' => 'required|max:255',

'LineGuid' => 'required|max:255',

'is_task' => 'required',

'account' => [

'sometimes',

'regex:/^1[3-9][0-9]\d{4,8}|(\w)+(\.\w+)*@(\w)+((\.\w+)+)|[0-9a-zA-Z_]+$/' // 验证账号可以为 手机号,邮箱或字符串

]

];

}

/**

* 中文错误提示

* @return array

*/

public function messages()

{

return [

'LineInfo.required' => '线路名称不能为空',

'LineInfo.string' => '线路名称必须是字符串',

'LineInfo.between' => '线路名称输入有误',

'cid.required' => 'cid 不能为空',

'cid.max' => 'cid 输入有误',

'LineGuid.required' => 'LineGuid 不能为空',

'LineGuid.max' => 'LineGuid 输入有误',

'is_task.required' => '是否启动必须选择',

'account.regex' => 'account 输入有误',

];

}

5.1 修改控制器请求类

app/Http/Controller/Api/CronTaskController.php

/**

* Store a newly created resource in storage.

*

* @param StoreCronTask $request

* @return \Illuminate\Http\Response

*/

public function store(StoreCronTask $request)

{

dump($request->all());

return $this->out(200, []);

}

其中参考资料:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值