讓Laravel API永遠(yuǎn)返回JSON格式響應(yīng)的方法示例
json格式
JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式,易于閱讀和編寫(xiě),同時(shí)也易于機(jī)器解析和生成。它基于ECMA262語(yǔ)言規(guī)范(1999-12第三版)中JavaScript編程語(yǔ)言的一個(gè)子集。 JSON采用與編程語(yǔ)言無(wú)關(guān)的文本格式,但是也使用了類C語(yǔ)言(包括C, C++, C#, Java, JavaScript, Perl, Python等)的習(xí)慣,這些特性使JSON成為理想的數(shù)據(jù)交換格式。
本文將給大家詳細(xì)介紹關(guān)于讓Laravel API永遠(yuǎn)返回JSON格式響應(yīng)的方法,下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧
當(dāng)你在編寫(xiě)完全為 API 服務(wù)的 Laravel 應(yīng)用時(shí),你希望所有響應(yīng)都是 JSON 格式的,而不是例如說(shuō)授權(quán)錯(cuò)誤會(huì)重定向到 /home 或 /login,最終重定向會(huì)變成 InvalidArgumentException: Route [login] is not defined. 的視圖。
下面這個(gè)簡(jiǎn)單的方案,可以讓你的 Laravel 應(yīng)用優(yōu)先響應(yīng)為 JSON 格式。
第一步、編寫(xiě) BaseRequest
首先我們需要構(gòu)建一個(gè) BaseRequest 來(lái)重寫(xiě) 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 ,包括錯(cuò)誤和異常。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- 詳解Laravel制作API接口
- Laravel如何實(shí)現(xiàn)適合Api的異常處理響應(yīng)格式
- 在 Laravel 中動(dòng)態(tài)隱藏 API 字段的方法
- Laravel實(shí)現(xiàn)ApiToken認(rèn)證請(qǐng)求
- laravel框架 api自定義全局異常處理方法
- laravel dingo API返回自定義錯(cuò)誤信息的實(shí)例
- Laravel框架實(shí)現(xiàn)調(diào)用百度翻譯API功能示例
- PHP使Laravel為JSON REST API返回自定義錯(cuò)誤的問(wèn)題
- Larave框架通過(guò)sanctum進(jìn)行API鑒權(quán)詳解
相關(guān)文章
PHP利用Cookie設(shè)置用戶30分鐘未操作自動(dòng)退出功能
這篇文章主要介紹了PHP利用Cookie設(shè)置用戶30分鐘未操作自動(dòng)退出功能,需要的朋友可以參考下2017-07-07ThinkPHP模板范圍判斷輸出In標(biāo)簽與Range標(biāo)簽用法詳解
這篇文章主要介紹了ThinkPHP模板范圍判斷輸出In標(biāo)簽與Range標(biāo)簽用法,需要的朋友可以參考下2014-06-06php 從一個(gè)數(shù)組中隨機(jī)的取出若干個(gè)不同的數(shù)實(shí)例
本文章向碼農(nóng)介紹php從一個(gè)不重復(fù)的數(shù)組中隨機(jī)的取出若干個(gè)不同的元素,難點(diǎn)是防止在取數(shù)的時(shí)候出現(xiàn)已經(jīng)取到過(guò)的情況(特別是取到最后),需要盡可能的降低碰撞,需要的朋友可以參考下2016-12-12Laravel中schedule調(diào)度的運(yùn)行機(jī)制
本文主要介紹了Laravel中schedule調(diào)度的運(yùn)行機(jī)制,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01CI框架給視圖添加動(dòng)態(tài)數(shù)據(jù)
這篇文章主要介紹了CI框架給視圖添加動(dòng)態(tài)數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2014-12-12利用PHP訪問(wèn)MySql數(shù)據(jù)庫(kù)的邏輯操作以及增刪改查的實(shí)例講解
下面小編就為大家?guī)?lái)一篇利用PHP訪問(wèn)MySql數(shù)據(jù)庫(kù)的邏輯操作以及增刪改查的實(shí)例講解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08PHP三元運(yùn)算的2種寫(xiě)法代碼實(shí)例
這篇文章主要介紹了PHP三元運(yùn)算的2種寫(xiě)法代碼實(shí)例,需要的朋友可以參考下2014-05-05去掉destoon資訊內(nèi)容頁(yè)keywords關(guān)鍵字自帶的文章標(biāo)題的方法
這篇文章主要介紹了去掉destoon資訊內(nèi)容頁(yè)keywords關(guān)鍵字自帶的文章標(biāo)題的方法,有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-08-08