成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

如何讓 Laravel API 永遠(yuǎn)返回 JSON 格式響應(yīng)?

Alan / 2148人閱讀

摘要:當(dāng)你在編寫完全為服務(wù)的應(yīng)用時(shí),你希望所有響應(yīng)都是格式的,而不是例如說授權(quán)錯(cuò)誤會(huì)重定向到或,最終重定向會(huì)變成的視圖。下面這個(gè)簡(jiǎn)單的方案,可以讓你的應(yīng)用優(yōu)先響應(yīng)為格式。

當(dāng)你在編寫完全為 API 服務(wù)的 Laravel 應(yīng)用時(shí),你希望所有響應(yīng)都是 JSON 格式的,而不是例如說授權(quán)錯(cuò)誤會(huì)重定向到 /home 或 /login,最終重定向會(huì)變成 InvalidArgumentException: Route [login] is not defined. 的視圖。

下面這個(gè)簡(jiǎn)單的方案,可以讓你的 Laravel 應(yīng)用優(yōu)先響應(yīng)為 JSON 格式。

第一步、編寫 BaseRequest

首先我們需要構(gòu)建一個(gè) BaseRequest 來重寫 IlluminateHttpRequest ,修改為默認(rèn)優(yōu)先使用 JSON 響應(yīng):

app/Http/Requests/BaseRequest.php


第二步、替換 BaseRequest

public/index.php 文件中,將 IllumiateHttpRequest 替換為我們的 BaseRequest,如下:

$response = $kernel->handle(
    $request = AppHttpRequestsBaseRequest::capture()
);
搞定!

現(xiàn)在所有的響應(yīng)都是 application/json ,包括錯(cuò)誤和異常。

來自于社區(qū) WIKI https://laravel-china.org/wik...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/29390.html

相關(guān)文章

  • Laravel核心解讀--異常處理

    摘要:請(qǐng)求未通過的驗(yàn)證時(shí)會(huì)拋出此異常。異常處理是非常重要但又容易讓開發(fā)者忽略的功能,這篇文章簡(jiǎn)單解釋了內(nèi)部異常處理的機(jī)制以及擴(kuò)展異常處理的方式方法。 異常處理是編程中十分重要但也最容易被人忽視的語言特性,它為開發(fā)者提供了處理程序運(yùn)行時(shí)錯(cuò)誤的機(jī)制,對(duì)于程序設(shè)計(jì)來說正確的異常處理能夠防止泄露程序自身細(xì)節(jié)給用戶,給開發(fā)者提供完整的錯(cuò)誤回溯堆棧,同時(shí)也能提高程序的健壯性。 這篇文章我們來簡(jiǎn)單梳理一下...

    includecmath 評(píng)論0 收藏0
  • Laravel+Dingo/Api 自定義響應(yīng)

    摘要:在最近的開發(fā)開發(fā)項(xiàng)目中,我使用了這個(gè)第三方庫。是個(gè)很強(qiáng)大的庫,但在開發(fā)的過程中,需要自定義響應(yīng)字段。剛開始使用時(shí),返回如下手機(jī)號(hào)格式不正確這是輸入字段驗(yàn)證錯(cuò)誤時(shí),返回的結(jié)果。尤其是,需要對(duì)每一個(gè)對(duì)象進(jìn)行新建,然后序列化。 在最近的開發(fā)開發(fā)項(xiàng)目中,我使用了Dingo/Api這個(gè)第三方Api庫。Dingo是個(gè)很強(qiáng)大的Api庫, 但在開發(fā)的過程中,需要自定義響應(yīng)字段。 剛開始使用Ding/A...

    xcold 評(píng)論0 收藏0
  • Laravel 程序架構(gòu)設(shè)計(jì)思路:使用動(dòng)作類

    摘要:一個(gè)動(dòng)作類,應(yīng)該有一個(gè)能夠說明其功能的名字,比如等。如果需要對(duì)我們的動(dòng)作類實(shí)現(xiàn)某種適配器模式,這是非常方便的。使用單動(dòng)作類的好處小巧而單一的邏輯域能夠防止代碼重復(fù)并提高代碼的可重用性,保持穩(wěn)定。易于針對(duì)各種場(chǎng)景進(jìn)行獨(dú)立測(cè)試。 showImg(https://segmentfault.com/img/remote/1460000015208092); 當(dāng)我們談?wù)摰綉?yīng)用程序的架構(gòu)的時(shí)候,經(jīng)...

    Caicloud 評(píng)論0 收藏0
  • Laravel 中緩存驅(qū)動(dòng)的速度比較

    摘要:我們很容易修改緩存驅(qū)動(dòng)方式。這樣的話,我們甚至根本不必檢查緩存是否過期。與驅(qū)動(dòng)相比,和的速度更快,所以建議在項(xiàng)目較大時(shí)使用外部緩存驅(qū)動(dòng)。結(jié)論使用文件數(shù)據(jù)庫作為驅(qū)動(dòng),兩者在速度上沒有很明顯的區(qū)別。所以投資高速緩存是值得的。 showImg(https://segmentfault.com/img/remote/1460000014057714?w=1440&h=720); 緩存是web開...

    go4it 評(píng)論0 收藏0
  • 利用 Laravel Resources 來整合第三方 API 數(shù)據(jù)

    摘要:對(duì)于某些應(yīng)用程序,可能需要第三方服務(wù)或者來提取某些數(shù)據(jù),將該數(shù)據(jù)轉(zhuǎn)換為所需的響應(yīng),并將其傳送到客戶端界面。使用中間件來處理響應(yīng)數(shù)據(jù)可以確保數(shù)據(jù)庫的一致性。 showImg(https://segmentfault.com/img/remote/1460000018016736?w=1000&h=421); 對(duì)于某些應(yīng)用程序,可能需要第三方服務(wù)或者 API 來提取某些數(shù)據(jù),將該數(shù)據(jù)轉(zhuǎn)換為...

    Jonathan Shieber 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<