basster / silex-simple-swagger-provider
一个将swagger-php 2.0集成到silex中的silex服务提供者
2.0
2016-06-08 14:18 UTC
Requires
- php: >=5.4
- silex/silex: ^2.0
- zircote/swagger-php: ^2.0
Requires (Dev)
- phpunit/phpunit: ^4.5 || ^5.3
This package is auto-updated.
Last update: 2024-09-22 06:17:09 UTC
README
silex-simple-swagger-provider 是一个将 swagger-php (版本 2) 集成到 silex 中的silex服务提供者。此服务提供者添加了基于swagger-php注解生成和公开swagger定义的路由。然后可以使用 swagger-ui 来使用swagger定义。
此库深受Jason Desrosiers的 silex-swagger-provider 的启发,但完全重写以满足 swagger-php (版本 2) 的需求。
Silex 2的安装
使用 composer 安装silex-swagger-provider。
composer require basster/silex-simple-swagger-provider:^2.0
参数
- swagger.servicePath: 包含你的swagger注解的类路径。
- swagger.excludePath: 在生成注解时将被排除的字符串路径或路径数组。
- swagger.apiDocPath: 将用于访问swagger定义的URI。默认为
/api/api-docs
。 - swagger.cache: 将传递给Symfony 2的
Response::setCache
方法的缓存选项数组。
服务
- swagger:
Swagger\Annotations\Swagger
的实例。它是已经解析的swagger注解树。
注册
$app->register(new Basster\Silex\Provider\Swagger\SwaggerProvider(), [ "swagger.servicePath" => __DIR__ . "/path/to/your/api", ]);
用法
默认提供以下路由
GET /api/api-docs
: 获取资源列表
swagger定义文件的输出不会在内部进行缓存。相反,创建的路由旨在与HTTP缓存(如浏览器缓存或反向代理)一起工作。您可以使用 swagger.cache
参数配置您希望缓存服务的方式。默认情况下,不会进行缓存。有关如何自定义缓存行为的更多信息,请参阅Symfony中的 HTTP缓存。以下示例将允许服务定义文件缓存5天。
$app["swagger.cache"] = [ "max_age": "432000", // 5 days in seconds "s_maxage": "432000", // 5 days in seconds "public": true, ]