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 文件中配置它。