Swagger UI - 无需托管即可将编辑器中的JSON规范读入UI

时间:2015-08-06 15:26:20

标签: swagger swagger-ui swagger-2.0 swagger-editor

我正在尝试使用Swagger记录我的API,方法是在Swagger编辑器中编写文档,然后将其加载到Swagger UI中。我使用了编辑器并下载了我的JSON文件,然后使用以下命令更改了UI中的/dist/index.html文件以指向我的本地文件:

var spec = "file:///Users/user1/Desktop/swagger.json";

  if (url && url.length > 1) {
    url = decodeURIComponent(url[1]);
  } else {
    url = "http://petstore.swagger.io/v2/swagger.json";
  }

  // Pre load translate...
  if(window.SwaggerTranslator) {
    window.SwaggerTranslator.translate();
  }
  window.swaggerUi = new SwaggerUi({
    url: url,
    spec: spec,

我在文件中唯一更改的是使用spec var指向我的JSON文件,但是当我打开UI时,它会显示一个空白的UI页面,其中显示消息“已完成加载资源信息。渲染Swagger UI ...“我只想在UI中显示我在编辑器中创建的文档,而不必托管规范,是否有我遗漏的内容?

1 个答案:

答案 0 :(得分:0)

根据Documentation,规范值必须是JSON对象,因此您必须执行以下操作:

window.swaggerUi = new SwaggerUi({
  spec: JSON.parse('{ "swagger": "2.0", ...')

其中

  

{" swagger":" 2.0",...

file:///Users/user1/Desktop/swagger.json 文件的内容