2017-05-10 31 views
0

我是新來的招搖,我試圖做一個非常簡單的規範,只有一個get方法來檢索一個網頁,這是代碼:簡單的招搖規範,檢索一個HTML網頁

{ 
    "swagger": "2.0", 
    "info": { 
    "title": "example", 
    "description": "Sample api to retrieve a web page.", 
    "version": "0.1" 
    }, 
    "host":"example.org", #"localhost:8080", 
    "schemes": [ 
    "https" 
    ], 
    "paths": { 
    "/":{ 
     "get":{ 
     "summary":"Return the web page.", 
     "description":"", 
     "produces":["text/html"], 
     "responses":{ 
      "200":{ 
      "description":"OK", 
      }, 
       "400":{ 
       "description":"Bad request" 
       }, 
       "404":{ 
       "description":"Not Found" 
       } 
      } 
      } 
     } 
    } 
} 

我正在使用swagger在線編輯器。

不幸的是,當我執行請求,但沒有返回網頁,我在規範已實施的狀態代碼的任何一個,這回我在細節部分中的錯誤:

TypeError: Failed to fetch

有人可以告訴我我錯在哪裏?

謝謝。

回答

1

對於「試用」按鈕在中工作,您的API端點必須爲CORS -enabled。也就是說,您的服務器(example.orglocalhost:8080)必須配置爲返回某些響應標頭,以允許editor.swagger.io向您的服務器發出跨域請求。這在這裏有更詳細的解釋:
https://github.com/swagger-api/swagger-ui#cors-support

配置CORS的方式取決於用於託管應用程序的服務器/框架。此頁面有一些常見的Web服務器的說明:
https://enable-cors.org/server.html

+0

謝謝,我已遵循您的建議,現在它的工作原理! – SimCor

+0

是否可以禁用「試試按鈕」的CORS? – SimCor

+0

@SimCor:CORS被瀏覽器強制執行作爲安全措施,所以它不能在服務器端或網頁上禁用。某些瀏覽器提供了一種禁用CORS進行臨時測試的方法 - 這隻會影響瀏覽器_。例如,如果您使用Chrome以下列參數啓動它:'chrome.exe --disable-web-security --user-data-dir = '。 – Helen