【问题标题】:how to serve go-swagger locally?如何在本地服务 go-swagger?
【发布时间】:2021-08-03 22:10:17
【问题描述】:

我有一个 yaml 格式和 json 格式的招摇文件。我可以在 swaggers 在线查看器 https://editor.swagger.io/ 上查看 yaml 文件,但是当我尝试在本地提供文件时出现错误:

webbrowser: tried to open "http://localhost:40335/docs", no screen found

使用命令后:

swagger serve -F=swagger swagger.yaml

要重新创建这个场景,你可以克隆这个 repo:https://github.com/go-swagger/go-swagger/tree/master/fixtures/goparsing/petstore

然后运行以下命令(MAC-OS)生成yaml文件:

注意:您可能需要在项目的根目录中使用sudo -s运行这些命令

Windows 安装说明可以在这里找到https://goswagger.io/install.html

下载 go-swagger

  1. docker pull quay.io/goswagger/swagger
  2. alias swagger="docker run --rm -it --user $(id -u):$(id -g) -e GOPATH=$HOME/go:/go -v $HOME:$HOME -w $(pwd) quay.io/goswagger/swagger"
  3. swagger version 验证安装

生成招摇的 Yaml 4.swagger generate spec -o ./swagger.yaml --scan-models

现在应该生成 swagger 文件,但由于某种原因,使用命令 swagger serve -F=swagger swagger.yaml 会出现上述错误。

【问题讨论】:

标签: go swagger swagger-ui


【解决方案1】:

由于您在 docker 容器中运行它并且其中没有浏览器,因此您会收到 no screen found 错误。

这可以通过将--no-open 选项传递给swagger serve ... 来解决。
另外,通过--port 选项指定一个固定端口。

来源:https://goswagger.io/usage/serve_ui.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-04
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    相关资源
    最近更新 更多