问题标签 [go-swagger]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
359 浏览

go - Go Swagger 能够为异步响应式代码编写响应

我正在使用 goswagger 生成我的 restAPI 代码,并且作为生成的用于编写响应的代码的一部分,我应该返回 middleware.Responder。我希望可以选择直接使用 API 客户端编写响应,因为我正在使用 gorx 反应式扩展,因为它在异步模式下运行时无法返回值。

作为我的代码的一部分,我想直接将响应编写为 NextHandler、NextHandler、DoneHandler 的一部分

谢谢

托尼。

0 投票
0 回答
37 浏览

openapi - go-swagger 将数字注入属性名称

我拥有的 models.yaml 文件是:

但是,当我使用 go-swagger 生成客户端时,输出为:

为什么 go-swagger 会自动生成StorePatchAO0前缀?以及如何摆脱它?

0 投票
1 回答
30 浏览

go-swagger - OperationhandlerFunc 第二个参数变为 interface{} 而不是 *models.Model

我正在尝试按照 go-swagger 教程向我的 api 添加身份验证:https ://goswagger.io/tutorial/composed-auth/

但是我生成的代码变成了:

虽然在示例中是:

我似乎找不到如何使第二个参数成为对模型的引用。我有一个名为user定义的模型。如果我尝试这样做:

我收到此错误:

如何使生成的代码使用用户模型?

我的 swagger.yml:https ://github.com/wunari/easypoll-backend/blob/master/docs/swagger.yml

谢谢

0 投票
1 回答
192 浏览

google-kubernetes-engine - GKE 中的 ISTIO 与现有应用程序不工作

我正在尝试在现有集群上启动和运行ISTIO ,并为现有微服务启用。不幸的是,我对ISTIOEnvoy的了解不足,无法充分诊断我遇到的问题。

我做了什么:

  1. 安装Istio
  2. 配置Namespace为自动注入 sidecar
  3. 重新部署了我的一个应用程序(使用 GoSwagger 的 GolangApp)

怎么了:

我的 Golang 应用程序容器出现了 crashloop 退避。这似乎是因为我的活跃度探测和就绪探测失败了。

没有收到任何准备好的 pod 的指标 | 失败的GetResourceMetric | 2019 年 9 月 24 日下午 1:41:02 | 2019 年 9 月 24 日下午 2:21:08 | 154

配置:

  1. Readiness/Liveness Probes 配置在http://0.0.0.0/health/readinesshttp://0.0.0.0/health/liveness
  2. 自动注入已配置
  3. 我的网络服务正在广播http://0.0.0.0:80
  4. Istio将其身份验证配置为AUTH_MUTUAL_TLS

Istio已启动并运行,当我开始部署时,我可以看到 sidecar 已正确注入。

很明显,我错误地配置了一些东西,我推测这是Istio https的工作方式与我的 goswagger webapp 的广播。

我只是不确定如何诊断它以及可能配置错误的内容。

我应该在我的 goswagger webapp 中从Istio中提取 tls 证书吗?

甚至不知道从哪里开始。

0 投票
0 回答
268 浏览

json - 为用户数组的 JSON 响应类型生成规范的问题

我有一个 Go 项目,公开 REST CRUD API,用于 Mongo 集合。我正在使用 go-swagger 来生成 swagger 规范。但是,在不破坏 go-swagger 规范生成器的情况下,我无法让 JSON 响应看起来像我想要的那样。

我正在尝试使用 go-swagger 从 go 代码的注释中生成一个 swagger-spec。我想看看我是否可以让响应只是一个 JSON 用户数组,如下所示。

有没有办法调整 User 结构上的 json 注释以产生所需的结果?

下面是我得到的,可以理解的是,一个 JSON 对象,包含关键“数据”,其值为用户对象数组。

我尝试将 swagger 响应结构重新定义为 []*User 类型的别名,它创建了正确的响应主体,但它破坏了 go swagger 生成器。

这是一些代码。

我还尝试将其作为别名,它提供了所需的 JSON 响应,但会破坏 Go-Swagger 代码生成。我怀疑这是因为 swagger:response 注释应该在结构上,而不是别名上。

0 投票
1 回答
621 浏览

go - 如何使用 go-swagger 服务 websocket?

我正在尝试在我的 go-swagger API 中提供聊天 websocket。我正在使用这个例子:https ://github.com/gorilla/websocket/tree/master/examples/chat

我尝试在服务器启动时将它附加到 http,但在进一步阅读后我发现这不起作用:

然后我尝试使用自定义服务器并将 server.Serve() 更改为:

但也意识到为什么这不起作用。

WebSocket 握手期间出错:意外的响应代码:404

经过一番阅读,我开始理解为什么从未找到 /ws :

现在 websockets 工作但其余 api 没有,我可以明白为什么但我不知道如何让它们都工作。我对golang还很陌生,所以我正在为此苦苦挣扎。

我怎么能那样做?

谢谢。

0 投票
0 回答
953 浏览

go - 如何用 go-swagger 实现中间件?

我正在使用 go-swagger 创建 API 端点,并直接在处理函数内部调用业务逻辑,这工作正常。我需要实现“中间件”,这也可以简化我正在使用 mockery 和 testify 进行的单元测试。下面是代码。

Swagger.yml

我只提供了端点的示例代码

configure_vmmanager.go

来自上面招摇的呼唤来了

create_vm_handler.go

定义部分

如果需要任何其他信息,请发表评论。

0 投票
1 回答
66 浏览

go - 一种具有不同“必填”字段的 POST 和 GET 模型

我用go-swagger. 我有这样的模型:

例如在我的POST字段Name中必须是必需的,但对于GET不是。那么如果我不想在不需要的情况下创建类似的模型,我应该如何添加它?因为现在我唯一的想法是创造type PetGET structtype PetPOST struct我想这是愚蠢的想法。

0 投票
0 回答
627 浏览

json - Go-Swagger 如何使用中间件获取 JSON 响应

使用 go-swagger 成功创建 swagger API 后,我需要自定义应用程序,以便将数据存储到数据库并从数据库中检索数据。

我看到我只能编辑一个生成的文件:/restapi/customize_users.go

通过此修改,我可以在 MySQL 数据库中写入数据

但我不知道如何返回 JSON 消息,例如“成功”。

文档不清楚,go-swagger 没有关于如何生成 JSON 作为响应的示例。

swagger.json/yaml 对于生成 JSON 的正确定义是有效的。

如我所见,我必须在那里使用中间件响应和返回。

如何修改 restapi/customize_xxxx.go 文件以获得有效的 JSON 响应。

0 投票
1 回答
229 浏览

swagger - 无法将 go-swagger 参数连接到路由

我有以下 go-swagger 注释:

我用swagger generate spec -o docs/swagger.yaml -w eprouter. 生成的 YAML 不包含查询参数。我的理解是标识符callbackReg应该将参数结构与路由联系起来。我究竟做错了什么?

生成的 YAML: