开发步骤
一、生成控制器
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, []);
}
其中参考资料: