Heim > Backend-Entwicklung > Golang > Warum gibt mein Go-HTTP-Server leere Antworten mit dem Inhaltstyp „text/plain' zurück?

Warum gibt mein Go-HTTP-Server leere Antworten mit dem Inhaltstyp „text/plain' zurück?

Mary-Kate Olsen
Freigeben: 2024-10-31 16:45:30
Original
625 Leute haben es durchsucht

Why Does My Go HTTP Server Return Empty Responses with

Beheben von JSON-Antwortproblemen in Go: Ein umfassender Leitfaden

In diesem Artikel befassen wir uns mit einem Problem, das beim Erstellen von JSON-Antworten in auftritt Gehen Sie und erkunden Sie die Lösung.

Problemstellung:

Ein Entwickler ist beim Erstellen eines einfachen HTTP-Servers und beim Verarbeiten von JSON-Antworten auf Probleme gestoßen. Trotz der Verwendung von Code, der den online gefundenen Beispielen ähnelt, wurde eine leere Antwort mit dem Inhaltstyp „text/plain“ zurückgegeben.

Analyse:

Ein sorgfältiger Vergleich von Der Code des Entwicklers und das Arbeitsbeispiel zeigten einen subtilen Unterschied: Die Variablen in der Antworttextstruktur wurden im Code des Entwicklers nicht großgeschrieben. Dies behindert den JSON-Marshalling-Prozess, da Go erfordert, dass Strukturfeldnamen exportiert (großgeschrieben) werden, um in JSON serialisiert zu werden.

Lösung:

Um dieses Problem zu beheben Problem müssen die Variablen in der ResponseCommands-Struktur großgeschrieben werden, wie unten gezeigt:

<code class="go">type ResponseCommands struct {
    Key   string
    Value bool
}</code>
Nach dem Login kopieren

Mit dieser Änderung erkennt Go die Strukturfelder ordnungsgemäß und serialisiert sie in JSON. Die resultierende Antwort enthält nun die erwarteten JSON-Daten und der Inhaltstyp-Header wird korrekt auf „application/json“ gesetzt.

Das obige ist der detaillierte Inhalt vonWarum gibt mein Go-HTTP-Server leere Antworten mit dem Inhaltstyp „text/plain' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage