Laravel 開發工具箱之 SwaggerNotes
生成工具
註:該工具僅生成注釋內容,依賴
swagger-php
包才能生成.yaml
接口文件
本地開發環境安裝依賴包
composer require laravel-toolbox/swagger-notes --dev
請在 Controller
類中對應的方法 return
前,加入如下代碼:
ToolboxFacadesSwaggerNotes::setRequest($request) ->setResponse($this->jsonRender(TransformHelper::camelSnakeCase($result, 'camel_case'))) ->setComments(['affilliate_web', 'affilliate', 'member'], $request->rules($this->affiliateService), $this->optionComments) ->setApiInfo([ 'summary' => '查詢大聯盟會員資料', 'description' => '含是否填寫個人資料、賬戶資料', 'operation_id' => __FUNCTION__, 'tags' => __CLASS__, ]) ->generate();
新增可支持擴展字段的備註信息,在調用類中新增&修改如下代碼即可:
public $optionComments = [ 'metadata' => '元數據', 'data' => '數據', 'desc' => '狀態描述', 'infoType' => '資料類型:ALL-全部;PROFILE-個人資料;ADDRINFO-通訊資料;ACCINFO-帳戶資料;WEBINFO-網站資料;', 'profile' => '個人資料', 'addrInfo' => '通訊資料', 'accInfo' => '帳戶資料', 'webInfo' => '網站資料', 'brandName' => '白牌名稱', 'brandSetting' => '白牌設置', 'imageUrl' => '圖片連結', 'brandUrl' => '白牌連結', 'footerCopyright' => '底部授權信息', 'citys' => '所含城市', 'prods' => '所含省份', 'profileFinished' => '個人資料是否完成的標識', 'accInfoFinished' => '賬戶資料是否完成的標識', 'isApproved' => '聯盟審核是否通過的標識', 'isActive' => '聯盟賬戶是否活躍的標識', ];
默認生成路徑在swagger/SwaggerNotes
目錄下,層級結構如下:
swagger ├── Swagger # 生成的注釋目錄 │ ├── Affiliate # 生成的接口目錄 │ │ └── affiliateView.php # 生成的接口注釋文件 │ └── swagger.php # 生成的注釋頭部信息文件 ├── swagger-constants.php ├── swagger-info.php ├── swagger.yaml └── swagger_doc.yaml # 生成的接口文件
附表
方法 | 釋義 | 可选 | 備註 |
---|---|---|---|
setRequest |
設置請求體,可解析出當前接口的method 、parameter 、url 、pathInfo 等 |
✔️ | 第二個形參可选,支持被改造的Request請求體,如:new GetAffiliateParameter($request) |
setResponse |
設置返回體,可直接給返回的數組結構 | ||
setComments |
設置字段的備註、規則等 | ✔️ | 接口字段涉及的表集合;驗證規則,不設置則取->rules() |
setApiInfo |
設置 API_INFO 的相關參數 | ||
summary | 設置當前接口文檔的summary 概述信息 |
✔️ | 不設置則取->name() |
description | 設置當前接口文檔的description 描述信息 |
✔️ | |
operation_id | 設置當前接口文檔的操作ID 標識 |
建議__FUNCTION__ |
|
tags | 設置當前接口文檔的標籤分類 | 建議__CLASS__ |
|
generate |
生成文檔 | 僅本地、測試環境或開啟 debug 模式時生效 |
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考学习用!
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。