L5 Swagger 整合API文件到Laravel專案中

L5 swagger 讓我們可以直接在laravel 原始碼中填寫所需要的文件生成指令,透過php artisan 直接產生api使用文件
並且帶有swagger-ui介面,可以直接查閱也可以在上面測試api
沒用過swagger? 可以直接到官網試試看精美的介面
先說
L5 swagger 8.0版本以後已經不能將annotation獨立一個檔案寫了,需要跟controller寫在一起

安裝:

laravel 5.5以後的版本只需要

舊版本請參閱參考資料連結
publish指令將設定檔複製到config資料夾中,可以依照需求來修改

撰寫Annotation

annotation中描述的是每一隻API所要處理的事情、傳入的參數、回覆的內容的等等資訊
首先,打開 app/Http/Controller.php
在class Controller extend BaseController 上方加入

到這邊為止我們已經處理好swagger所需要的基本元素,透過以下指令就可以自動產生文件

此時透過PROJECT_URL/api/documentation 就可以查看到swagger-ui產出的文件,大概像這樣子
L5 swagger
當然,查看文件的路徑也可以在config/l5-swagger.php中的decumentatiopns.routes.api 去修改
接著開始是重點
針對每一支API請在每個class function中填入以下所需要的描述資訊

全部的API function寫完之後再重新產生一次文件就可以了

l5 swagger