njuhel / swagger-validator
此包已被弃用且不再维护。没有建议的替代包。
这是一个用于PHP的安全和有用的库,用于请求/响应验证、安全阶段、单元测试骨架、测试自动生成等。此库可用于任何具有请求/响应Swagger定义文件的现有应用程序(无框架)
1.3.2
2017-04-24 21:30 UTC
Requires
- php: >5.3.10
- ext-bcmath: *
- ext-dom: *
- ext-json: *
- ext-pcre: *
- ext-reflection: *
- ext-spl: *
Requires (Dev)
- codeclimate/php-test-reporter: dev-master
- evert/phpdoc-md: ^0.2
- phpdocumentor/phpdocumentor: ^2.0
- phpunit/php-code-coverage: <=4.0
- phpunit/php-file-iterator: ^1.4
- phpunit/php-text-template: ^1.2
- phpunit/php-timer: ^1
- phpunit/phpunit: <=5.6
- phpunit/phpunit-mock-objects: <=3.4
This package is not auto-updated.
Last update: 2023-08-19 13:37:51 UTC
README
Swagger Validator PHP
这是一个用于PHP的Swagger(OpenAPI)验证和解析库,用于请求/响应验证、安全阶段、单元测试骨架、测试自动生成等。此库可用于任何具有请求/响应Swagger定义文件的现有应用程序。
Swagger是OpenAPI项目的旧名称,它管理着OAI规范
为什么使用Swagger验证器
Swagger验证器可以理解为对swagger定义文件的验证。Swagger解析器可以理解为请求输入的解析器(有时还解析响应)。Swagger验证器执行所有这些操作。它验证您的swagger文件,验证您的输入请求和响应。
验证/解析是必需的
- 验证swagger可以确保您的定义文件没有错误且将被正确理解
- 验证请求是一个安全阶段,用于过滤不良请求、尝试黑客攻击、限制和过滤工作源代码中的控制语句等
- 验证响应也是一个安全阶段,用于在发送之前过滤不需要的信息、限制和防止错误代码攻击、限制和过滤工作源代码中的控制语句等
功能
- 最佳实践:先Swagger,后代码
- 验证/过滤所有请求和响应
- 易于与任何现有框架、应用程序等集成
- 允许从完整的MVC应用程序到HIM/API应用程序的软迁移
- 基于swagger提供请求/响应的示例模型,用于构建自动化测试阶段、代码的人类骨架、文档骨架等
- 根据Swagger 2.0规范和JSON Draft v4(swagger优先于JSON Draft v4)验证swagger文件
- 定制简单:所有类都是通过不编写解析器(使用自定义工厂)来重写的
- 与单文件和多文件swagger定义文件协同工作良好
- 可以从多个swagger定义文件生成单个swagger定义文件
- 允许本地和远程定义文件
- 允许使用循环引用(仅适用于对象中不需要的属性)
- 将验证后的请求参数存储到沙盒中,只能访问验证后的参数(并清理魔法全局变量)
- 遵循RFC和原始类型及格式的推荐,而非本地语言理解类型和格式
- 在解析请求/响应时使用缓存处理工作文件
- 使用易于覆盖的IO类来收集待验证的请求/响应数据
- 在您的环境中进行单元测试,以检查兼容性
需要完成的事项
- 根据内容类型、接受和产生自动构建响应
- 将范围缩小到PHP 7.1(发布 >= 1.4)
- swagger / openapi版本3.0(发布 >= 2.0)
兼容性
- 发布 <= 1.3:范围PHP 5.3.10(已报告错误,需要更多兼容性)到PHP 7.0
- 发布 >= 1.4:范围PHP 7.1
- 发布 >= 2.0:openapi发布3.0 & PHP 7.1
安装指南
- 以子模块形式安装到git仓库中
git submodule init git submodule add http://srv01.https://github.com/nabbar/SwaggerValidator-PHP src/lib/SwaggerValidator git submodule update
- 通过克隆git进行安装
git clone https://github.com/nabbar/SwaggerValidator-PHP SwaggerValidator
- 使用composer安装(在composer.json中添加此内容)
"require": { "nabbar/swagger-validator":">=1.2.0" },
- 使用phar安装
wget https://github.com/nabbar/SwaggerValidator-PHP/raw/master/bin/SwaggerValidator.phar
示例 & 文档
- 示例: Example.php
- 文档: 生成的