dsuurlant/response2schema

根据JSON响应生成对象的OpenAPI模式定义。

1.0.4 2023-10-09 08:32 UTC

This package is auto-updated.

Last update: 2024-09-09 10:29:57 UTC


README

快速轻松地根据JSON对象生成您的OpenAPI规范。这对于启动组件模式非常有用。这是一个编写规范的起点,因为该工具无法推断类型,例如枚举、oneOf、最大/最小值等。它也不支持生成端点或错误响应。它所做的只是将您的JSON对象转换为OpenAPI模式对象,并附带一个简单的示例规范,您可以在此基础上进行扩展。

支持在JSONyaml中生成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