openapi3的JSON模式

时间:2019-07-13 09:31:46

标签: jsonschema openapi

OpenAPI(https://www.openapis.org/)v3的JSON模式参考是什么?

例如,如果我想将某种模式定义为JSON,则可以执行以下操作:

{
  "$schema": "http://json-schema.org/schema#",
  // rest of the document will need to conform to the referenced schema
}

如何以类似的方式引用OpenAPI 3? 我的意思是,我可以这样写吗:

{
"$schema": "http://<some-url-for-openapi-v3>",
}

以这种方式强制文档符合架构并允许某些高级JSON编辑器在编辑过程中提供自动完成功能吗?

这个 some-url-for-openapi-v3 是什么?

在以下位置有v2和v3的示例: https://github.com/OAI/OpenAPI-Specification/tree/master/examples 但是在撰写本文时,v2仅包含yaml示例,并且它们(json或yaml)都没有类似于模式引用的内容。

是否有可能实现?

1 个答案:

答案 0 :(得分:0)

  1. 在OpenApi中,您需要定义路径,方法,响应,组件和模式。更多,您甚至可以引用这样的模式:
paths:
  /users:
    post:           
      parameters:
        - in: path
          name: users
          required: true
          schema:
            type: string
            example: users
      responses:
        200:
          description: Success Response
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/SuccessResponce'


Components:
  schemas:
    SuccessResponce:
      description: 'Successful response'
      type: string
  1. 着名的招摇Petstore example也回答了您的问题。

  2. 请仔细阅读OpenApi规范here