登录
首页 >  Golang >  Go问答

如何修复在查询参数中结束的请求中添加标头的问题?

来源:stackoverflow

时间:2024-02-06 21:48:24 411浏览 收藏

golang学习网今天将给大家带来《如何修复在查询参数中结束的请求中添加标头的问题?》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

我正在尝试生成一个 go 客户端,但生成器无法识别标头,并且不允许我将其作为标头传递到服务器 - 相反,它作为查询参数发送。

info:
  title: api
  version: "1.2"
servers:
  - url: https://example.com
paths:
  /ping:
    get:
      summary: checks if the server is alive
      parameters:
        - in: header
          name: x-request-id
          schema:
            type: string
            format: uuid
          required: true
      responses:
        '200':
          description: request has been successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  returned_url:
                    type: string

这是我正在使用的生成器:

# https://github.com/openapitools/openapi-generator/blob/master/docs/generators/go.md
docker run --rm -v "${pwd}:/local" openapitools/openapi-generator-cli generate \
  -i /local/spec.yaml \
  -g go \
  -o /local/internal/infrastructure/sdk \
  -p enumclassprefix=true \
  -p generateinterfaces=true \
  -p isgosubmodule=true \
  -p packagename=sdk

您会注意到它生成了这一行,它将我传递给查询参数的标头值添加到:

parameterAddToQuery(localVarQueryParams, "X-Request-ID", r.xRequestID, "")

这是一个错误吗?对此我能做什么?


正确答案


这看起来像是 go 模板中的一个错误: https://github.com/OpenAPITools/openapi-generator/blob/4487042f0d4ef1f4686950f0c1ddac6fe6d44f98/modules/openapi-generator/src/main/resources/go/api.mustache#L243-L252

它应该类似于 Java 模板中的完成方式: https://github.com/OpenAPITools/openapi-generator/blob/4487042f0d4ef1f4686950f0c1ddac6fe6d44f98/modules/openapi-generator/src/main/resources/Java/api.mustache#L89-L91

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>