Перейти API для отображения спецификации API Swagger (JSON) в HTML (Swagger UI) - PullRequest
1 голос
/ 06 апреля 2019

У меня есть приложение go (gorilla / mux), которое обслуживает определенный порт. У меня тоже есть сваггерская спецификация API в виде файла json. Есть ли какой-нибудь API go, который может генерировать определение пользовательского интерфейса из файла JSON, как Spring Boot. Я смотрю на https://github.com/go-swagger/go-swagger,, но я не могу использовать это в своем коде go-lang. Похоже, этот API можно использовать только из командной строки.

Ответы [ 2 ]

2 голосов
/ 06 апреля 2019

Если у вас уже есть свои API, определенные в формате YAML или JSON, вы можете использовать статическое дерево dist для его рендеринга из браузера:

https://github.com/swagger-api/swagger-ui/tree/master/dist

Обновите index.html, чтобы он указывал на документ API через этот тег:

url: "https://petstore.swagger.io/v2/swagger.json",

И если вы хотите обслуживать это статическое дерево с вашего сервера go REST-API, добавьте следующий обработчик:

fs := http.FileServer(http.Dir("dist"))
http.Handle("/swagger/", http.StripPrefix("/swagger/", fs))

Это будет служить документам swaggers с маршрута /swagger/ - чтение содержимого из каталога dist.

0 голосов
/ 12 апреля 2019

Здесь, в качестве альтернативы использованию статического dist кода

SwaggerUI имеет параметр URL, который вы можете предоставить свой собственный swagger.json, и он будет отображать пользовательский интерфейс с вашими определениями, вотпример:

http://petstore.swagger.io/?url=http://swagger-net-test.azurewebsites.net/swagger/docs/V1

Как видите, на самом деле вам не нужно ничего, кроме ваших собственных свагерских спецификаций и доступа в интернет

...