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 ?

王林
王林avant
2024-02-10 08:42:211200parcourir

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

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

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, "")

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer