讓Laravel API永遠返回JSON格式響應的方法示例
json格式
JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,易于閱讀和編寫,同時也易于機器解析和生成。它基于ECMA262語言規(guī)范(1999-12第三版)中JavaScript編程語言的一個子集。 JSON采用與編程語言無關的文本格式,但是也使用了類C語言(包括C, C++, C#, Java, JavaScript, Perl, Python等)的習慣,這些特性使JSON成為理想的數(shù)據(jù)交換格式。
本文將給大家詳細介紹關于讓Laravel API永遠返回JSON格式響應的方法,下面話不多說了,來一起看看詳細的介紹吧
當你在編寫完全為 API 服務的 Laravel 應用時,你希望所有響應都是 JSON 格式的,而不是例如說授權錯誤會重定向到 /home 或 /login,最終重定向會變成 InvalidArgumentException: Route [login] is not defined. 的視圖。
下面這個簡單的方案,可以讓你的 Laravel 應用優(yōu)先響應為 JSON 格式。
第一步、編寫 BaseRequest
首先我們需要構建一個 BaseRequest 來重寫 Illuminate\Http\Request ,修改為默認優(yōu)先使用 JSON 響應:
app/Http/Requests/BaseRequest.php
<?php namespace App\Http\Requests; use Illuminate\Http\Request; class BaseRequest extends Request { public function expectsJson() { return true; } public function wantsJson() { return true; } }
第二步、替換 BaseRequest
在 public/index.php 文件中,將 \Illumiate\Http\Request 替換為我們的 BaseRequest,如下:
$response = $kernel->handle( $request = \App\Http\Requests\BaseRequest::capture() );
搞定!
現(xiàn)在所有的響應都是 application/json ,包括錯誤和異常。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
ThinkPHP模板范圍判斷輸出In標簽與Range標簽用法詳解
這篇文章主要介紹了ThinkPHP模板范圍判斷輸出In標簽與Range標簽用法,需要的朋友可以參考下2014-06-06php 從一個數(shù)組中隨機的取出若干個不同的數(shù)實例
本文章向碼農介紹php從一個不重復的數(shù)組中隨機的取出若干個不同的元素,難點是防止在取數(shù)的時候出現(xiàn)已經取到過的情況(特別是取到最后),需要盡可能的降低碰撞,需要的朋友可以參考下2016-12-12利用PHP訪問MySql數(shù)據(jù)庫的邏輯操作以及增刪改查的實例講解
下面小編就為大家?guī)硪黄肞HP訪問MySql數(shù)據(jù)庫的邏輯操作以及增刪改查的實例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08去掉destoon資訊內容頁keywords關鍵字自帶的文章標題的方法
這篇文章主要介紹了去掉destoon資訊內容頁keywords關鍵字自帶的文章標題的方法,有一定的實用價值,需要的朋友可以參考下2014-08-08