gpt4 book ai didi

ruby - 如何使用公共(public) swagger-generator docker 镜像生成客户端?

转载 作者:IT老高 更新时间:2023-10-28 21:22:48 29 4
gpt4 key购买 nike

我们有一个完全 docker 化的 Web 应用程序,其中包含 API 的有效 Swagger 定义。 API 在其自己的 docker 容器中运行,我们使用 docker-compose 来编排所有内容。我想根据位于 http://api:8443/apidocs.json 的 Swagger 定义生成一个 Ruby 客户端。

我已经翻阅了文档 here ,这导致我到Swagger's public docker image用于生成客户端和服务器代码。遗憾的是缺少文档,并且没有提供实际使用 docker 镜像生成客户端的示例。

Dockerfile表示其容器运行 Web 服务,我只能假设它是 http://generator.swagger.io 的 docker 化版本.因此,我希望能够使用以下命令生成客户端:

curl -X POST -H "content-type:application/json"-d\
'{"swaggerUrl":"http://api:8443/apidocs"}'\
http://swagger-generator:8080/api/gen/clients/ruby

这里没有运气。即使我已经确认 swagger 定义对 (npm -q install -g swagger-tools >/dev/null) && swagger-tools validate http://api 有效,我仍然不断收到“无效的 Swagger 定义”: 8443/apidocs.

有什么想法吗?

最佳答案

确实你是对的,你所指的 docker 图像与 http://generator.swagger.io 中使用的图像相同。

您遇到的问题是输入参数不正确。

现在要正确处理,请注意 swagger-generator 有一个 Web 界面。所以一旦你启动它,就像说明说的那样,在浏览器中打开它。例如(将 GENERATOR_HOST 替换为您机器的 IP 地址):

docker run -d -e GENERATOR_HOST=http://192.168.99.100 -p 80:8080 swaggerapi/swagger-generator

然后就可以在http://192.168.99.100

上打开swagger-ui

这里的重要部分是您可以使用 UI 查看调用语法。如果您正在生成客户端,请转到 http://192.168.99.100/#!/clients/generateClient 选择您要生成的语言并单击右侧的有效负载。将 swaggerUrl 字段替换为您的服务器地址,瞧。

您可以使用 curl 中的输出来确定如何从命令行调用。从那里应该很容易。

请记住,仅仅因为第 3 方工具表明 swagger 定义有效并不意味着它实际上是有效的。不过,我认为这不是您的问题,但 3rd 方工具的里程可能会有所不同...

关于ruby - 如何使用公共(public) swagger-generator docker 镜像生成客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39730438/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com