TP5 接口与异常处理解决方案

1、在route.php中 定义路由:


    

2、定义api模块下的test的控制器:

      

    故意把model写错 



  2、通过postman工具来测试

 会返回以下错误

   

扫描二维码关注公众号,回复: 922168 查看本文章

解决办法:

   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也就可以识别到的数据。



猜你喜欢

转载自blog.csdn.net/qq_38287952/article/details/80247000