Swagger OpenAPI规范连接被拒绝

Swagger OpenAPI规范连接被拒绝,swagger,swagger-2.0,openapi,Swagger,Swagger 2.0,Openapi,我的OpenAPI规范文件有问题。我试图调用一个公开的url来“获取”id,但每次我将服务转发到本地,然后尝试通过API文档发送请求时,我的连接都被拒绝。我将感谢任何帮助。我期望的id是JSON格式的。下面是我的规范文件 openapi: "3.0.0" info: version: 1.0.0 title: Id Generator servers: url: www.someurl.com paths: /posts: get: summary: Get

我的OpenAPI规范文件有问题。我试图调用一个公开的url来“获取”id,但每次我将服务转发到本地,然后尝试通过API文档发送请求时,我的连接都被拒绝。我将感谢任何帮助。我期望的id是JSON格式的。下面是我的规范文件

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

截至2017年6月21日,OpenAPI规范3.0尚未发布,而Swagger UI还不支持OpenAPI 3.0,因此您的示例可能无法运行。密切关注页面,了解OpenAPI 3.0的支持何时可用

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

  • 服务器
    是一个数组,因此将其更改为:

    servers:
      - url: http://www.someurl.com
    
  • 必须引用响应状态代码:
    “200”
    “200”

  • 在架构下缩进
    $ref

                  schema:
                    $ref: "#/definition/Post"
                  ...
                  schema:
                    $ref: "#/definition/Error"
    
  • 定义
    更改为
    组件
    ->
    架构
    ,并修复
    Post
    的缩进:

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

您是如何从浏览器中的Swagger UI或其他方式调用API的?顺便说一下,您的规范不是有效的3.0.0或2.0规范。缩进有几个地方是错误的,规范混合使用了2.0和3.0.0的关键字,这是错误的。@Helen我正在使用swagger UI进行API调用。visual studio代码中没有出现缩进错误。@Helen我已经做了一些更正,以减轻2.0和3.0的混合。我已经在上面重新发布了我的规范。可能有缩进问题,因为我直接粘贴在这里。但是我在VisualStudio代码中没有任何缩进错误。我仍然无法使用我的spec文件成功获得响应。我是openapi新手,我想问一下您是如何获得openapi yaml文件的?它是生成的吗?