TP5 接口與異常處理解決方案


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM