1、在route.php中 定义路由:
2、定义api模块下的test的控制器:
故意把model写错
2、通过postman工具来测试
会返回以下错误
解决办法:
1、找到 think\Exception;
2、自定义render方法
/**
* 通用化API接口数据输出
* @param int $status 业务状态码
* @param string $message 信息提示
* @param [] $data 数据
* @param int $httpCode http状态码
*/
function show($status, $message ,$data = [] ,$httpCode = 200)
{
$data = [
'status' => $status,
'message' => $message,
'data' =>$data
];
return json($data, $httpCode);
}
namespace app\common\lib\exception;
use think\exception\Handle;
use app\common\lib\exception\ApiException;
class ApiHandleException extends Handle
{
/**
* http状态码
* @var unknown
*/
public $httpCode = 500;
public function render(\Exception $e)
{
return show(0, $e->getMessage(), [], $this->httpCode);
}
}
3、修改 config.php中的 exception_handle
这个时候返回的数据就是错误异常的数据,api也就可以识别到的数据。