- cros跨域的options类型请求需要在route中另外声明处理。
- 数据验证:alpha_num规则官网文档说明是数字字母组合,结果中文也能通过验证。。。可以改为正则:
regex:/^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]{6,18})$/
- 数据验证:有些选填字段,后端本意应该是不传入,但是前端经常传入空字符串。这时候如果有验证规则会进行验证。需要在规则最前面加上nullable规则。相当于yii框架的skipOnEmpty选项。
- 数据验证:验证数组中单个元素的格式:
'class' => [
'required', 'array' //验证必须是数组形式
],
'class.*' => [ //验证每个元素都要是整型
'integer'
],
- 路由文件中如果有闭包形式将无法缓存,应该全部使用指定控制器的方式。如果有group,则使用下面的写法可以避免闭包:
//主routes/api.php文件中:
Route::group(base_path('routes/api_v1.php'));
//routes/api_v1.php中书写路由:
Route::get('/user/info', 'Api\v1\UserController@info');
.....
路由缓存命令:php artisan route:cache
- 线上部署运行php artisan config:cache以后,将不会再读取.evn文件中的数据,所以代码中用到.evn的配置项应该写到config/app.php或者其他配置文件中读取,如:'API_VERSION' => env('API_VERSION', 'v1')
网友评论