讓Laravel API永遠(yuǎn)返回JSON格式響應(yīng)的方法示例
json格式
JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,易于閱讀和編寫,同時也易于機(jī)器解析和生成。它基于ECMA262語言規(guī)范(1999-12第三版)中JavaScript編程語言的一個子集。 JSON采用與編程語言無關(guān)的文本格式,但是也使用了類C語言(包括C, C++, C#, Java, JavaScript, Perl, Python等)的習(xí)慣,這些特性使JSON成為理想的數(shù)據(jù)交換格式。
本文將給大家詳細(xì)介紹關(guān)于讓Laravel API永遠(yuǎn)返回JSON格式響應(yīng)的方法,下面話不多說了,來一起看看詳細(xì)的介紹吧

當(dāng)你在編寫完全為 API 服務(wù)的 Laravel 應(yīng)用時,你希望所有響應(yīng)都是 JSON 格式的,而不是例如說授權(quán)錯誤會重定向到 /home 或 /login,最終重定向會變成 InvalidArgumentException: Route [login] is not defined. 的視圖。
下面這個簡單的方案,可以讓你的 Laravel 應(yīng)用優(yōu)先響應(yīng)為 JSON 格式。
第一步、編寫 BaseRequest
首先我們需要構(gòu)建一個 BaseRequest 來重寫 Illuminate\Http\Request ,修改為默認(rèn)優(yōu)先使用 JSON 響應(yīng):
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)在所有的響應(yīng)都是 application/json ,包括錯誤和異常。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
destoon實(shí)現(xiàn)不同會員組公司名稱顯示不同的顏色的方法
這篇文章主要介紹了destoon實(shí)現(xiàn)不同會員組公司名稱顯示不同的顏色的方法,是非常實(shí)用的方法,代碼簡潔思路簡單,需要的朋友可以參考下2014-08-08
支付寶支付開發(fā)——當(dāng)面付條碼支付和掃碼支付實(shí)例
這篇文章主要介紹了支付寶支付開發(fā)——當(dāng)面付條碼支付和掃碼支付實(shí)例,具有一定的參考價值,有需要的可以了解一下。2016-11-11
php+ajax 實(shí)現(xiàn)輸入讀取數(shù)據(jù)庫顯示匹配信息
這篇文章主要介紹了php+ajax 實(shí)現(xiàn)輸入讀取數(shù)據(jù)庫顯示匹配信息的相關(guān)資料,需要的朋友可以參考下2015-10-10
thinkPHP實(shí)現(xiàn)多字段模糊匹配查詢的方法
這篇文章主要介紹了thinkPHP實(shí)現(xiàn)多字段模糊匹配查詢的方法,結(jié)合實(shí)例形式分析了thinkPHP進(jìn)行模糊匹配查詢的相關(guān)模型操作與sql語句,需要的朋友可以參考下2016-12-12
ThinkPHP公共配置文件與各自項(xiàng)目中配置文件組合的方法
這篇文章主要介紹了ThinkPHP公共配置文件與各自項(xiàng)目中配置文件組合的方法,涉及array_merge函數(shù)將多個數(shù)組合并的方法,是ThinkPHP項(xiàng)目開發(fā)中非常實(shí)用的技巧,需要的朋友可以參考下2014-11-11
php 防止表單重復(fù)提交兩種實(shí)現(xiàn)方法
這篇文章主要介紹了php 防止表單重復(fù)提交兩種實(shí)現(xiàn)方法的相關(guān)資料,這里兩種實(shí)現(xiàn)方法一一做了詳細(xì)介紹,需要的朋友可以參考下2016-11-11
如何修改Laravel中url()函數(shù)生成URL的根地址
這篇文章主要給大家介紹了關(guān)于如何修改Laravel中url()函數(shù)生成URL根地址的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用laravel具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08
yiic命令時提示“php.exe”不是內(nèi)部或外部命令的解決方法
這篇文章主要介紹了yiic命令時提示“php.exe”不是內(nèi)部或外部命令的解決方法,針對環(huán)境變量的配置與Yii框架的配置文件修改來解決這一問題,具有一定的參考借鑒價值,需要的朋友可以參考下2014-12-12

