我試圖建立使用Laravel框架一個REST API,我想一個辦法迫使API總是與JSON responed不這樣做manulaly喜歡:你如何在Laravel的每個響應中強制使用JSON響應?
return Response::json($data);
換句話說,我想每個響應成爲JSON。有沒有一個好的方法來做到這一點?
更新:的反應必須是JSON即使在異常如不找到 例外。
我試圖建立使用Laravel框架一個REST API,我想一個辦法迫使API總是與JSON responed不這樣做manulaly喜歡:你如何在Laravel的每個響應中強制使用JSON響應?
return Response::json($data);
換句話說,我想每個響應成爲JSON。有沒有一個好的方法來做到這一點?
更新:的反應必須是JSON即使在異常如不找到 例外。
在控制器返回JSON
只是return $data;
有關錯誤一JSON
響應,去app\Exceptions\Handler.php
文件,並期待在render
方法。
您應該能夠重新寫它看起來是這樣的:
public function render($request, Exception $e)
{
// turn $e into an array.
// this is sending status code of 500
// get headers from $request.
return response()->json($e, 500);
}
然而,你將不得不決定如何處理$e
做,因爲它需要一個array
。您還可以設置狀態碼和標題數組。
但是,如果出現任何錯誤,它將返回一個JSON
響應。
編輯:這也是很好的注意,你可以改變report
方法來處理laravel如何記錄錯誤。更多信息here。
這將返回行xdeubg消息,我需要laravel調試響應 –
@MustafaDwekat,我猜測它結束了工作?你需要改變我的答案嗎?如果是這樣,讓我知道,我會更新它。 – DuckPuncher
在那裏玩了一段時間後,我實際上可以得到我想要的任何東西。非常感謝。這很有幫助。 –
所以你想要的是能夠寫'返回$ data'並將其轉換爲'返回Response :: json($ data);'? – Ohgodwhy
爲此使用中間件。創建可終止的一個,並簡單地讓它返回你想要的。 –
試試這個http://tekina.info/creating-general-api-responder-laravel/ –