laravel 5.5 api接口開發: 安裝dingo/api


dingo/api 是一個 Lumen 和 Laravel 都可用的 RestFul 工具包,幫助我們快速的開始構建 RestFul Api。參考文檔地址:https://github.com/dingo/api/

第一步:安裝dingo/api

    

composer require dingo/api

  

第二步:編譯配置文件

php artisan vendor:publish

  

第三步:編輯生成的api.php

1、API_STANDARDS_TREE 值說明:

  未注冊的樹(x)主要表示本地和私有環境
  私有樹(prs)主要表示沒有商業發布的項目
  供應商樹(vnd)主要表示公開發布的項目

  如果你不確定該如何選擇,x 樹或者說未注冊樹都是安全的。

2、API_SUBTYPE=myapp

  子類型通常是應用程序或項目的短名稱,都是小寫的。

3、前綴和子域:

  如果你曾經使用過 API 你就會知道大多數服務都來自子域或前綴。前綴或子域是必須的,但只需要一個。請避免使用版本號作為你的前綴或子域,因為版本控制是通過 header 頭 Accept 處理的
    1)前綴:API_PREFIX=api
    2)子域:API_DOMAIN=api.myapp.com

4、版本號 : API_VERSION=v1
  這個版本號是你的 API 的默認版本號,並且會在一些未提供版本號的情況下作為回調的默認值使用。在生成 API 文檔時也會使用這個版本號作為默認值。

5、名稱:API_NAME=My API
  你的 API 的名稱只會在你使用 API Blueprint 命令生成文檔的時候使用。使用此名稱可以避免你每次生成文檔的時候都必須手動定義名稱。

6、條件請求 API_CONDITIONAL_REQUEST=false 【你可以在你的 .env 文件中將其配置為關閉】
  『條件請求』默認為開啟狀態,這有利於客戶端的緩存機制在可能的情況下緩存 API 請求。

7、嚴格模式:API_STRICT=false
  嚴格模式要求客戶端發送 Accept 頭,代替配置文件中配置的默認版本。這意味着你將不能通過瀏覽器直接訪問你的 API。

  如果開啟嚴格模式,發送非法的 Acceept 標頭會拋出一個未處理的異常   Symfony\Component\HttpKernel\Exception\BadRequestHttpException ,你需要自己處理這個異常。
8、響應格式 :API_DEFAULT_FORMAT=json
  默認的響應格式是 JSON,並有一個 JSON 響應格式是被默認注冊。
  你可以在 .env 文件中配置默認的響應格式。更進一步的響應格式配置需要在一個 published 的配置文件,服務提供器,或是 bootstrap 文件中。

9:錯誤格式
  當包遇到錯誤時,它會嘗試生成一個通用的錯誤響應,而不是將異常轉儲給用戶。 它使用的錯誤格式可以根據自己的喜好進行配置。
您必須在已發布的配置文件或引導程序文件中對其進行配置。

$app['Dingo\Api\Exception\Handler']->setErrorFormat([
    'error' => [
        'message' => ':message',
        'errors' => ':errors',
        'code' => ':code',
        'status_code' => ':status_code',
        'debug' => ':debug'
    ]
]);

10、調試模式:API_DEBUG=true
  該包處理的通用錯誤包括一個 debug 鍵,當啟用這個鍵時,將會填充堆棧跟蹤詳細信息。你可以在 .env 文件中配置它。

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM