如何在本地服务 go-swagger?
how to serve go-swagger locally?
我有一个 yaml 格式和 json 格式的 swagger 文件。我可以在 swaggers 在线查看器 https://editor.swagger.io/ 上查看 yaml 文件,但是当我尝试在本地提供文件时,出现错误:
webbrowser: tried to open "http://localhost:40335/docs", no screen found
使用命令后:
swagger serve -F=swagger swagger.yaml
要重新创建此场景,您可以克隆此存储库: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
docker pull quay.io/goswagger/swagger
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"
swagger version
验证安装
生成 swagger Yaml
4.swagger generate spec -o ./swagger.yaml --scan-models
现在应该会生成 swagger 文件,但由于某种原因,使用命令 swagger serve -F=swagger swagger.yaml
会出现上述错误。
由于您 运行 它位于 docker 容器中并且其中没有浏览器,因此您会收到 no screen found
错误。
这可以通过将 --no-open
选项传递给 swagger serve ...
来解决。
此外,通过传递 --port
选项指定固定端口。
我有一个 yaml 格式和 json 格式的 swagger 文件。我可以在 swaggers 在线查看器 https://editor.swagger.io/ 上查看 yaml 文件,但是当我尝试在本地提供文件时,出现错误:
webbrowser: tried to open "http://localhost:40335/docs", no screen found
使用命令后:
swagger serve -F=swagger swagger.yaml
要重新创建此场景,您可以克隆此存储库: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
docker pull quay.io/goswagger/swagger
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"
swagger version
验证安装
生成 swagger Yaml
4.swagger generate spec -o ./swagger.yaml --scan-models
现在应该会生成 swagger 文件,但由于某种原因,使用命令 swagger serve -F=swagger swagger.yaml
会出现上述错误。
由于您 运行 它位于 docker 容器中并且其中没有浏览器,因此您会收到 no screen found
错误。
这可以通过将 --no-open
选项传递给 swagger serve ...
来解决。
此外,通过传递 --port
选项指定固定端口。