elenyum / open-api
此捆绑包生成文档并返回符合 OpenAPI 规范的 JSON 格式。
1.0
2024-03-30 17:12 UTC
Requires
- php: >=8.1
- ext-json: *
- symfony/console: ^5.4|^6.0|^7.0
- symfony/framework-bundle: ^5.4.24|^6.0|^7.0
- symfony/options-resolver: ^7.0
- symfony/property-info: ^7.0
- symfony/validator: ^7.0
- zircote/swagger-php: ^4.2.15
Requires (Dev)
- doctrine/annotations: ^2.0
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^11.0
- symfony/serializer: ^7.0
README
此捆绑包生成文档并返回符合 OpenAPI 规范的 JSON 格式。
安装
composer require elenyum/open-api
配置
为了添加配置,在项目根目录中创建一个配置文件,/config/packages/elenyum_open_api.yaml。在配置文件中添加
elenyum_open_api: documentation: info: title: My project name description: My project description version: 1.0.0
要添加获取 JSON 规范的路由,请向项目根文件 /config/routes/elenyum_open_api.yaml 中添加
宽度配置示例
app.openapi: path: /v1/doc methods: GET defaults: { _controller: elenyum_open_api }
缓存配置
-
cache.enable:
指示是否激活了缓存。默认:false
。 -
cache.item_id:
设置缓存项目标识符。默认:elenyum_open_api
。
示例
yaml
cache: enable: true item_id: 'my_custom_cache_id'
文档配置
作为使用属性作为键创建 API 文档的基础。
-
documentation.info.title:
文档中应用程序的标题:My App
。 -
documentation.info.description:
文档中应用程序的描述:描述服务
。 -
documentation.info.version:
文档中应用程序的版本:1.0.0
。
示例
yaml
documentation: info: title: 'My App' description: 'Description service' version: '1.0.0'
其他配置
过滤将进行文档化的路由,并管理其在生成的文档中的可见性。
-
path_patterns:
一个正则表达式模式的数组,用于匹配路径以包括路由。 -
host_patterns:
一个正则表达式模式的数组,用于匹配主机以包括路由。 -
name_patterns:
一个正则表达式模式的数组,用于匹配路由名称以包括路由。 -
with_tag:
一个布尔值,指示是否应通过标签(注释)过滤路由。 -
disable_default_routes:
一个布尔值,指示是否应排除没有显式 OpenAPI 注释的默认路由。
示例
yaml
path_patterns: ['^/api'] host_patterns: ['^api\.'] name_patterns: ['^api_v1'] with_tag: true disable_default_routes: false