Go API 在 html 中显示 swagger api 规范 (json) (Swagger UI)

标签 go swagger-2.0

我有一个为特定端口提供服务的应用程序(gorilla/mux)。我也有一个 json 文件形式的 swagger API 规范。是否有任何 go API 可以像 spring boot 一样从 JSON 文件生成 swagger UI 定义。 我正在看https://github.com/go-swagger/go-swagger ,但我无法在我的 go-lang 代码中使用它。看来这个 API 只能从命令行使用。

最佳答案

如果您已经以 YAML 或 JSON 格式定义了 API,则可以使用静态“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))

这将为 /swagger/ 路线提供 swaggers 文档 - 从 dist 目录读取内容。

关于Go API 在 html 中显示 swagger api 规范 (json) (Swagger UI),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55550174/

相关文章:

GoLang 错误/接口(interface)机制

go - 如何使用 channel 收集各种goroutine的响应

mysql - 如何使用 MySQL 数据库在 Heroku 上部署 Go 服务器?

reflection - 如何循环遍历 Golang 结构中的字段以可扩展的方式获取和设置值?

templates - 在 go html 模板中创建循环的最佳方法是什么?

swagger-2.0 - 整数返回类型的 Swagger 数组

Swagger 引用外部文件中的定义

swagger - 带有 swagger 中键的对象数组

swagger-ui - 删除 SpringFox SwaggerUI 中的基本错误 Controller

django - Django REST框架Swagger 2.0