Swagger UI - чтение спецификаций JSON из редактора в UI без хостинга

Я пытаюсь задокументировать свой API с помощью Swagger, написав документацию в редакторе Swagger, а затем загрузив ее в пользовательский интерфейс Swagger. Я использовал редактор и загрузил свой файл JSON, а затем изменил файл /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,

Единственное, что я изменил в файле, - это использование спецификации var для указания на мой файл JSON, однако, когда я открываю пользовательский интерфейс, он отображает пустую страницу пользовательского интерфейса с сообщением «Завершена загрузка информации о ресурсах. Визуализация пользовательского интерфейса Swagger ... «Я просто хотел бы отображать документацию, созданную мной в редакторе, в пользовательском интерфейсе без необходимости размещать спецификации. Что-то мне не хватает?


person user2892120    schedule 06.08.2015    source источник
comment
Я также попытался просто клонировать репозиторий пользовательского интерфейса swagger и попытаться получить доступ к моему файлу через пользовательский интерфейс в браузере, однако он выдает только сообщение. Укажите протокол для файла: // ... Означает ли это, что мой файл JSON загружен из редактора неправильно форматируется?   -  person user2892120    schedule 06.08.2015
comment
Возможный дубликат Как открывать локальные файлы в Swagger-UI   -  person Helen    schedule 16.03.2017


Ответы (1)


Согласно документации, значение спецификации должно быть объектом JSON. , поэтому вам нужно сделать что-то вроде:

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

куда

{чванство: 2.0, ...

это содержимое вашего файла file: ///Users/user1/Desktop/swagger.json

person Saúl Martínez Vidals    schedule 11.08.2015