摘要:當(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
摘要:請(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)單梳理一下...
摘要:在最近的開發(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...
摘要:一個(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)...
摘要:我們很容易修改緩存驅(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開...
摘要:對(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)換為...
閱讀 3073·2021-11-23 09:51
閱讀 1054·2021-09-02 15:21
閱讀 3023·2019-08-30 13:56
閱讀 1853·2019-08-29 14:12
閱讀 719·2019-08-29 13:53
閱讀 1681·2019-08-29 11:32
閱讀 1343·2019-08-29 11:25
閱讀 1509·2019-08-28 17:51