首頁 > 後端開發 > Golang > 為什麼我的 Go HTTP 伺服器會傳回內容類型為「text/plain」的空響應?

為什麼我的 Go HTTP 伺服器會傳回內容類型為「text/plain」的空響應?

Mary-Kate Olsen
發布: 2024-10-31 16:45:30
原創
624 人瀏覽過

Why Does My Go HTTP Server Return Empty Responses with

解決Go 中的JSON 回應問題:綜合指南

在本文中,我們將深入研究在Go 中建立JSON 回應時遇到的問題去探索解決方案。

問題陳述:

開發人員在建立簡單的 HTTP 伺服器和處理 JSON 回應時遇到問題。儘管使用與在線找到的範例類似的程式碼,但還是傳回了內容類型為「text/plain」的空響應。

分析:

仔細比較開發人員的程式碼和工作範例揭示了一個微妙的差異:回應主體結構中的變數在開發人員的程式碼中沒有大寫。這會阻礙 JSON 編組過程,因為 Go 需要匯出結構體欄位名稱(大寫)才能序列化為 JSON。

解:

解決此問題問題是,ResponseCommands 結構體中的變數必須大寫,如下所示:

<code class="go">type ResponseCommands struct {
    Key   string
    Value bool
}</code>
登入後複製

透過此修改,Go 將正確識別結構體欄位並將它們序列化為JSON。產生的回應現在將包含預期的 JSON 數據,並且內容類型標頭將正確設定為“application/json”。

以上是為什麼我的 Go HTTP 伺服器會傳回內容類型為「text/plain」的空響應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板