2017-06-20 123 views
0

我遇到了我的OPENAPI規範文件的問題。我試圖調用一個暴露的URL來'GET'一個ID,但每次我端口轉發服務到我的本地,然後嘗試通過API文檔發送請求我的連接被拒絕。我將不勝感激任何幫助。我期待的ID將是JSON格式。下面是我的規格文件 -開放API規範連接拒絕

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 
+0

你是如何做的API調用 - 從Swagger用戶界面在瀏覽器或以某種方式? – Helen

+0

順便說一下,你的規格不是一個有效的3.0.0或2.0規範。縮進在幾個地方是錯誤的,並且該規範使用了2.0和3.0.0關鍵字的混合,這是錯誤的。 – Helen

+0

@ Helen我使用Swagger UI進行API調用。我沒有收到Visual Studio代碼的縮進錯誤。 – Jon

回答

1

隨着2017年6月21日的,OpenAPI的規範3.0還沒有出來和揚鞭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" 
    
  • 變化definitioncomponents - >schemas和修復縮進Post

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

非常感謝。 – Jon