Heim  >  Artikel  >  Backend-Entwicklung  >  OpenApi Generator Golang – Hinzufügen eines Headers zu einer Anfrage, die mit Abfrageparametern endet, wie kann das Problem behoben werden?

OpenApi Generator Golang – Hinzufügen eines Headers zu einer Anfrage, die mit Abfrageparametern endet, wie kann das Problem behoben werden?

王林
王林nach vorne
2024-02-10 08:42:211159Durchsuche

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

php-Editor Banana ist bei der Verwendung von OpenApi Generator Golang auf ein Problem gestoßen: Beim Beenden der Anfrage in Abfrageparametern, wie man Header hinzufügt, um dieses Problem zu beheben. In diesem Artikel werden wir die Lösung für dieses Problem untersuchen und einige praktische Tipps und Schritte bereitstellen, um den Lesern bei der Lösung ähnlicher Probleme zu helfen. Egal, ob Sie Anfänger oder erfahrener Entwickler sind, dieser Artikel bietet Ihnen wertvolle Informationen und Anleitungen. Schauen wir uns an, wie Sie dieses Problem beheben können!

Frageninhalt

Ich versuche, einen Go-Client zu generieren, aber der Generator erkennt den Header nicht und lässt mich ihn nicht als Header an den Server übergeben – stattdessen wird er als Abfrageparameter gesendet.

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

Dies ist der Generator, den ich verwende:

# 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

Sie werden feststellen, dass diese Zeile generiert wird, die den Header-Wert hinzufügt, den ich an den Abfrageparameter übergeben habe:

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

Ist das ein Fehler? Was kann ich dagegen tun?

Workaround

Das sieht nach einem Fehler in Go-Vorlagen aus: https://www.php.cn/link/88d25099b103efd638163ecb40a55589

Es sollte ähnlich sein, wie es in Java-Vorlagen gemacht wird: https://www.php.cn/link/227bd2473d68947040e511b7f29ce553

Das obige ist der detaillierte Inhalt vonOpenApi Generator Golang – Hinzufügen eines Headers zu einer Anfrage, die mit Abfrageparametern endet, wie kann das Problem behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen