Maison > développement back-end > Golang > OpenApi Generator Golang - Ajout d'un en-tête à la demande se terminant par les paramètres de requête, comment résoudre le problème ?

OpenApi Generator Golang - Ajout d'un en-tête à la demande se terminant par les paramètres de requête, comment résoudre le problème ?

王林
Libérer: 2024-02-10 08:42:21
avant
1262 Les gens l'ont consulté

OpenApi Generator Golang - 添加标头以在查询参数中结束的请求如何修复?

L'éditeur php Banana a rencontré un problème lors de l'utilisation d'OpenApi Generator Golang : à la fin de la requête dans les paramètres de requête, comment ajouter des en-têtes pour résoudre ce problème. Dans cet article, nous explorerons la solution à ce problème et fournirons quelques conseils et étapes pratiques pour aider les lecteurs à résoudre des problèmes similaires. Que vous soyez débutant ou développeur expérimenté, cet article vous fournira des informations et des conseils précieux. Voyons comment résoudre ce problème !

Contenu de la question

J'essaie de générer un client go, mais le générateur ne reconnaît pas l'en-tête et ne me laisse pas le transmettre au serveur en tant qu'en-tête - à la place, il est envoyé en tant que paramètre de requête.

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
Copier après la connexion

Voici le générateur que j'utilise :

# 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
Copier après la connexion

Vous remarquerez qu'il génère cette ligne, qui ajoute la valeur d'en-tête que j'ai passée au paramètre de requête :

parameterAddToQuery(localVarQueryParams, "X-Request-ID", r.xRequestID, "")
Copier après la connexion

Est-ce un bug ? Que puis-je faire à ce sujet ?

Solution de contournement

Cela ressemble à un bug dans les modèles Go : https://www.php.cn/link/88d25099b103efd638163ecb40a55589

Cela devrait être similaire à la façon dont cela se fait dans les modèles Java : https://www.php.cn/link/227bd2473d68947040e511b7f29ce553

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal