dsuurlant / response2schema
根据JSON响应生成对象的OpenAPI模式定义。
1.0.4
2023-10-09 08:32 UTC
Requires
- php: ^7.4|^8.0
- ext-json: *
- cebe/php-openapi: ^1.4
Requires (Dev)
- clue/phar-composer: ^1.4
- fakerphp/faker: ^1.0
- phpunit/phpunit: ^9.1
README
快速轻松地根据JSON对象生成您的OpenAPI规范。这对于启动组件模式非常有用。这是一个编写规范的起点,因为该工具无法推断类型,例如枚举、oneOf、最大/最小值等。它也不支持生成端点或错误响应。它所做的只是将您的JSON对象转换为OpenAPI模式对象,并附带一个简单的示例规范,您可以在此基础上进行扩展。
支持在JSON
或yaml
中生成OpenAPI规范。
安装
composer require dsuurlant/response2schema
或从发行版页面下载phar。
用法
只需将Response2Schema指向您的输入json文件,并告诉它将输出OpenAPI规范放在哪里。
它将根据输出路径的扩展名自动将其格式化为json或yaml。
./vendor/bin/response2schema response.json openapi.yaml
或当使用phar时
./response2schema.phar response.json openapi.yaml
示例
给定一个非常简单的响应
{ "id": 1, "name": "Example Response" }
Response2Schema生成以下规范
openapi: 3.0.0 info: title: 'OpenAPI specification automatically generated by Response2Schema.' description: 'Please adapt this specification to your own needs.' version: 1.0.0 paths: /resource: get: description: 'Description of the endpoint' operationId: getResource responses: '200': description: 'Description of this response.' content: application/json: schema: $ref: '#/components/schemas/Resource' components: schemas: Resource: type: object properties: id: type: integer name: type: string
它将始终生成示例端点和名为'Resource'的模式。
使用此工具的最佳方式是将此作为起点,或将模式定义复制粘贴到您自己的OpenAPI规范中。
鸣谢
由Daniëlle Suurlant构建和维护。
严重依赖出色的PHP OpenAPI库cebe/php-openapi。