sonrac / swagger-php-openapi
Swagger-PHP - 使用phpdoc注解为您的RESTful API生成交互式文档
3.0.0
2018-06-06 11:45 UTC
Requires
- php: >=7.0
- doctrine/annotations: *
- symfony/finder: *
Requires (Dev)
- phpunit/phpunit: >=6.3
- squizlabs/php_codesniffer: >=2.7
- zendframework/zend-form: <2.8
This package is auto-updated.
Last update: 2024-09-15 10:40:38 UTC
README
swagger-php
使用 OpenAPI 注解生成您的RESTful API的交互式文档。
功能
- 兼容OpenAPI 3.0规范。
- 出色的错误报告(带有提示和上下文)
- 从代码和现有的phpdoc注解中提取信息。
- 提供命令行界面。
安装(使用 Composer)
composer require sonrac/swagger-php-openapi
要从任何地方使用cli安装swagger-php全局版本,并确保将~/.composer/vendor/bin
目录添加到您的PATH中,以便系统可以找到swagger
可执行文件。
composer global require sonrac/swagger-php-openapi
用法
将注解添加到您的php文件中。
/** * @OAS\Info(title="My First API", version="0.1") */ /** * @OAS\Get( * path="/api/resource.json", * @OAS\Response(response="200", description="An example resource") * ) */
从PHP使用
生成始终是最新的文档。
<?php require("vendor/autoload.php"); $openapi = \Swagger\scan('/path/to/project'); header('Content-Type: application/json'); echo $openapi;
从命令行界面使用
将swagger文档生成到静态json文件。
./vendor/bin/swagger --help
从反序列化器使用
从json字符串生成OpenApi注解对象,这使得以编程方式操作对象变得更容易。
<?php use Swagger\Serializer; $serializer = new Serializer(); $openapi = $serializer->deserialize($jsonString, 'Swagger\Annotations\OpenApi'); echo $openapi;
关于OpenAPI的更多信息
- https://openapis.org.cn
- https://github.com/swagger-api/swagger-spec/
- http://bfanger.github.io/swagger-explained/
- 相关项目
- https://www.marcoraddatz.com/en/2015/07/21/integrate-swagger-into-laravel/
贡献
请随时提交GitHub问题或拉取请求。
文档网站位于gh-pages
分支中。
请确保拉取请求通过PHPUnit和PHP_CodeSniffer(PSR-2)测试。
在项目的根目录中执行此命令以运行测试
./bin/phpunit
在本地机器上运行phpcs测试,请执行
./bin/phpcs -p --extensions=php --standard=PSR2 --error-severity=1 --warning-severity=0 ./src ./tests
运行单元测试和linting的命令是
composer test