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也就可以識別到的數據。