如何用 TP5、thinkPHP5.1 框架 接口开发 异常时返回json
validata 路由验证 失败后返回json(框架默认的是 debug返回异常页面 非debug返回空页面)
本章解决的问题:
这是不是曾让你用TP框架开发接口的时候很是抓狂,想用validata(路由验证)的带来的便利,却因为validata 验证未通过时是异常返回。只能望眼欲穿,亦或者 只能妥协的去 巴拉巴拉巴拉 的自己写个方法。或是 用其他麻烦点的其他方法。亦或是 想写却不知如何下手了。
这些在本章都能解决啦~~
只需如下几行小代码
在 tp5/config/app.php 配置文件中 找到 exception_handle 这个key 如下添加即可。
'exception_handle' => function($e){
if ($e instanceof \think\exception\ValidateException) {
return json($e->getError());
}else{
$h = new think\exception\Handle;
return $h->render($e);
},
然后 在route里面定义一个路由验证器试试。
Route::get('/', 'api/index/login')->validate(['name