nicofuma / swagger-bundle
集成 Swagger 的包,用于验证请求和响应
1.0.7
2017-02-06 14:13 UTC
Requires
- php: >=5.6.0
- fr3d/swagger-assertions: ^0.7.0
- symfony/dependency-injection: ^2.3|^3.0
- symfony/event-dispatcher: ^2.3|^3.0
- symfony/framework-bundle: ^2.3|^3.0
- symfony/http-foundation: ^2.4|^3.0
- symfony/validator: ^2.3|^3.0
Requires (Dev)
- friendsofsymfony/rest-bundle: ^1.7
- phpunit/phpunit: ^5.2
- symfony/phpunit-bridge: ^2.7|^3.0
This package is auto-updated.
Last update: 2024-09-18 00:56:09 UTC
README
描述
此包将 Swagger 集成到 Symfony。
目前支持以下功能
- 基于 Swagger 定义自动验证所有传入请求(包括头部和查询字符串)
- 使用配置配置多个 API,使用不同的 Swagger 文件
- FOSRestBundle 集成:自动配置 ParamFetcher
- Behat 集成:上下文验证响应
安装
使用 Composer 添加所需的包。
稳定版本
composer require nicofuma/swagger-bundle:^1.0
最新版本
composer require nicofuma/swagger-bundle:@dev
启用包
将包添加到您的 AppKernel。
// in %kernel.root_dir%/AppKernel.php $bundles = array( // ... new Nicofuma\SwaggerBundle\NicofumaSwaggerBundle(), // ... );
配置
nicofuma_swagger: definition: pattern: '/api/v1' swagger_file: swagger/swagger.json strict: true
pattern
与此模式匹配的任何 URL 都将针对 swagger_file
Swagger 文件进行测试,用于此 API。可以是绝对路径、相对于 %kernel.root_dir%/Resources/
的路径或包资源 @MyBundle/Dir/swagger.json
strict
如果路径与 Swagger 文件中的任何定义不匹配,是否必须抛出异常
配置参考
# Default configuration for extension with alias: "swagger" nicofuma_swagger: definitions: - pattern: # use the urldecoded format path: ^/api/public/ host: null ips: [] methods: [] swagger_file: swagger-public.json strict: true - pattern: # use the urldecoded format path: ^/api/private/ host: null ips: [] methods: [] swagger_file: swagger-private.json strict: true
Behat 集成
在您的 behat.yml 文件中添加以下上下文
- Nicofuma\SwaggerBundle\Tests\Behat\Context\SwaggerContext: {map: '@swagger.validator_map'}
贡献
NicofumaSwaggerBundle 是一个开源项目。如果您想贡献,请这样做。
许可协议
此库受 MIT 许可协议的约束。有关完整的版权和许可信息,请查看与源代码一起分发的 LICENSE 文件。