laravel-toolbox / swagger-notes
PHP Laravel 工具箱中的 SwaggerPHP 注释生成器
v1.0.2
2023-02-11 04:59 UTC
Requires
- php: ^7.1||^8.0.2||^8.2
Requires (Dev)
- barryvdh/laravel-ide-helper: ^2.12
- roave/security-advisories: dev-latest
- zircote/swagger-php: ^4.5
This package is auto-updated.
Last update: 2024-09-24 17:29:16 UTC
README
Laravel 开发工具箱中的 SwaggerNotes
生成工具
注意:此工具仅生成注释内容,需要依赖
swagger-php
包才能生成.yaml
接口文件
-
本地开发环境安装依赖包
composer require laravel-toolbox/swagger-notes --dev
-
请在
Controller
类中对应的方法return
前,加入如下代码:\Toolbox\Facades\SwaggerNotes::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 # 生成的接口文件
-
附表