最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Laravel+Dingo/Api 自定義響應的實現(xiàn)

 更新時間:2019年02月17日 10:22:47   作者:Romolo  
這篇文章主要介紹了Laravel+Dingo/Api 自定義響應的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

在最近的開發(fā)開發(fā)項目中,我使用了Dingo/Api這個第三方Api庫。

Dingo是個很強大的Api庫, 但在開發(fā)的過程中,需要自定義響應字段。

剛開始使用Ding/Api時,返回如下:

{
  "message": "422 Unprocessable Entity",
  "errors": {
    "mobile": [
      "手機號格式不正確"
    ]
  },
  "status_code": 422
}

這是輸入字段驗證錯誤時,Dingo返回的結果。

這樣看上去沒什么問題。因為這邊 status_code 是比較規(guī)范的。對于 PHP 來說,直接 json_decode 之后,并沒有什么難辦的地方。但是對面安卓和 IOS 則是使用的強類型語言。尤其是 Java,需要對每一個 Json 對象進行新建,然后序列化。所以,這種格式不統(tǒng)一的返回結果,是無法接受的

解決方法: 我們需要將所有的異常信息歸總到一個地方,在AppServiceProvider的boot()方法中添加

// 將所有的 Exception 全部交給 App\Exceptions\Handler 來處理
app('api.exception')->register(function (Exception $exception) {
  $request = Illuminate\Http\Request::capture();
  return app('App\Exceptions\Handler')->render($request, $exception);
}); 

然后在App\Exceptions\Handler.php中的render()方法中:

$class = get_class($exception);
switch ($class) {
  case 'Dingo\Api\Exception\ValidationHttpException':
    if ($request->expectsJson())
      return $this->errorRespond($exception->getErrors()->first(), $exception->getStatusCode());
    break;

  default:
    if ($request->expectsJson())
      return $this->errorRespond('系統(tǒng)休息了', 500000);

    break;
}

再次訪問接口:

{
  "response_status_code": 422,
  "response_message": "請?zhí)顚懯謾C號",
  "data": []
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 使用python實現(xiàn)多維數(shù)據(jù)降維操作

    使用python實現(xiàn)多維數(shù)據(jù)降維操作

    今天小編就為大家分享一篇使用python實現(xiàn)多維數(shù)據(jù)降維操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python中常用的GUI(圖形用戶界面)庫用法詳細介紹

    Python中常用的GUI(圖形用戶界面)庫用法詳細介紹

    GUI圖形用戶界面是一種允許用戶通過圖形元素(如圖標、按鈕、窗口等)與電子設備進行交互的用戶界面,下面這篇文章主要給大家介紹了關于Python中常用的GUI(圖形用戶界面)庫用法的相關資料,需要的朋友可以參考下
    2024-08-08
  • pytorch 圖像預處理之減去均值,除以方差的實例

    pytorch 圖像預處理之減去均值,除以方差的實例

    今天小編就為大家分享一篇pytorch 圖像預處理之減去均值,除以方差的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python jieba 中文分詞與詞頻統(tǒng)計的操作

    Python jieba 中文分詞與詞頻統(tǒng)計的操作

    這篇文章主要介紹了Python jieba 中文分詞與詞頻統(tǒng)計的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • PyCharm代碼格式調(diào)整方法

    PyCharm代碼格式調(diào)整方法

    今天小編就為大家分享一篇PyCharm代碼格式調(diào)整方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 利用Python模擬登錄pastebin.com的實現(xiàn)方法

    利用Python模擬登錄pastebin.com的實現(xiàn)方法

    這篇文章主要介紹了利用Python模擬登錄pastebin.com的實現(xiàn)方法,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-07-07
  • Python線性點運算數(shù)字圖像處理示例詳解

    Python線性點運算數(shù)字圖像處理示例詳解

    這篇文章主要為大家介紹了數(shù)字圖像處理基本運算如何用Python詳細點運算來處理數(shù)字圖像有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • Python開發(fā)之利用re模塊去除代碼塊注釋

    Python開發(fā)之利用re模塊去除代碼塊注釋

    Python的re模塊主要是正則表達式的操作函數(shù),下面這篇文章主要給大家介紹了關于Python開發(fā)之利用re模塊去除代碼塊注釋的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • 解決Windows下PowerShell無法進入Python虛擬環(huán)境問題

    解決Windows下PowerShell無法進入Python虛擬環(huán)境問題

    這篇文章主要介紹了解決Windows下PowerShell無法進入Python虛擬環(huán)境問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python實現(xiàn)二叉堆

    Python實現(xiàn)二叉堆

    二叉堆是一種特殊的堆,二叉堆是完全二元樹(二叉樹)或者是近似完全二元樹(二叉樹)。二叉堆有兩種:最大堆和最小堆。最大堆:父結點的鍵值總是大于或等于任何一個子節(jié)點的鍵值;最小堆:父結點的鍵值總是小于或等于任何一個子節(jié)點的鍵值。
    2016-02-02

最新評論

青铜峡市| 荣成市| 新闻| 扎赉特旗| 康保县| 进贤县| 科技| 东辽县| 平舆县| 和顺县| 台山市| 汪清县| 雷山县| 珲春市| 南城县| 石阡县| 鄂伦春自治旗| 徐水县| 确山县| 英吉沙县| 湘潭市| 莫力| 临邑县| 会东县| 陆川县| 航空| 新竹市| 龙井市| 敦化市| 出国| 通海县| 哈巴河县| 铜陵市| 长沙市| 甘洛县| 庆城县| 湟源县| 天水市| 格尔木市| 永兴县| 嘉鱼县|