【问题标题】:How to expose swagger.json with go-swagger server?如何使用 go-swagger 服务器公开 swagger.json?
【发布时间】:2019-02-04 12:56:04
【问题描述】:

我正在使用 go-swagger 来生成 API 服务器。我注意到从 swagger.yml 生成的 json 保存在 restapi/embedded_spec.go 中。

公开该 JSON 规范以便我的 ReactJS 客户端可以访问它的最佳方式是什么?

到目前为止,我不得不使用 swagger serve swagger.yml --port=50000 并将 javacript 客户端指向 localhost:50000/swagger.json。我正在寻找一种通过我的 API 直接从 restapi/embedded_spec.go 提供 JSON 的方法。

【问题讨论】:

  • 据我所知,没有现成的选项可以实现这一点。但是 go swagger 非常灵活,例如,您可以使用 swagger.json 内容创建模板。来自文档:生成服务器或客户端时,您可以使用 --template-dir 指定一个目录来加载自定义模板。它将递归读取目录中的所有 .gotmpl 文件并将它们作为模板加载。另一种选择是使用标志自定义服务器生成步骤。 goswagger.io/faq/faq_server.html

标签: swagger openapi go-swagger


【解决方案1】:

也许这是从旧代码的角度来看,但目前在运行服务器时,还提供了swagger.json 文件。

$ go run cmd/swagger-petstore-server/main.go --port=50000
2018/09/20 12:48:35 Serving swagger petstore at http://127.0.0.1:50000

$ curl http://127.0.0.1:50000/swagger.json
{
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    • 2021-06-19
    • 2020-10-10
    • 2014-04-01
    • 2020-12-09
    • 2015-10-01
    • 2021-05-26
    相关资源
    最近更新 更多