拒绝OpenAPI规范连接

时间:2017-06-20 13:48:57

标签: swagger swagger-2.0 openapi

我的OpenAPI规范文件有问题。我试图调用一个公开的URL来“获取”一个id,但每次我将服务移植到我的本地,然后尝试通过API文件发送请求我的连接被拒绝。我将不胜感激任何帮助。我期待的id将采用JSON格式。以下是我的spec文件

openapi: "3.0.0"
info:
  version: 1.0.0
  title: Id Generator
servers:
   url: www.someurl.com
paths:
  /posts:
    get:
      summary: Get Id
      operationId: id
      tags:
        - posts
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
              $ref: "#/definition/Post"
        default:
          description: unexpected error
          content:
            application/json:
              schema:
              $ref: "#/definition/Error"

definition:
    Post:
    type: object 
    properties:
        id:
          type: string
    Error:
      properties:
        id:
          type: string

1 个答案:

答案 0 :(得分:1)

截至2017年6月21日,OpenAPI规范3.0尚未推出,Swagger UI尚不支持OpenAPI 3.0,因此您的示例无法正常工作。请密切关注Swagger UI releases页面,了解何时可以获得对OpenAPI 3.0的支持。

此外,您需要修复规范中的错误,使其成为有效的OpenAPI 3.0规范:

  • servers是一个数组,因此将其更改为:

    servers:
      - url: http://www.someurl.com
    
  • 必须引用回复状态代码:"200"'200'

  • 缩进架构下的$ref

                  schema:
                    $ref: "#/definition/Post"
                  ...
                  schema:
                    $ref: "#/definition/Error"
    
  • definition更改为components - > schemas并修复Post的缩进:

    components:
      schemas:
        Post:
          type: object 
          properties:
            id:
              type: string
        Error:
          properties:
            id:
              type: string