第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

golang request.ParseForm() 是否與“application/json

golang request.ParseForm() 是否與“application/json

Go
桃花長相依 2021-09-10 14:55:03
在 Go (1.4) 中使用簡單的 HTTP 服務(wù)器,如果 content-type 設(shè)置為“application/json”,則請求表單為空。這是故意的嗎?簡單的 http 處理程序:func (s Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {    r.ParseForm()    log.Println(r.Form)}對于這個(gè) curl 請求,處理程序打印正確的表單值:curl -d '{"foo":"bar"}' http://localhost:3000prints: map[foo:[bar]]對于此 curl 請求,處理程序不會打印表單值:curl -H "Content-Type: application/json" -d '{"foo":"bar"}' http://localhost:3000prints: map[]
查看完整描述

1 回答

?
烙印99

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊

ParseForm 不解析 JSON 請求正文。第一個(gè)示例的輸出出乎意料。


以下是解析 JSON 請求正文的方法:


 func (s Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {

    var v interface{}

    err := json.NewDecoder(r.Body).Decode(&v)

    if err != nil {

       // handle error

    }

    log.Println(v)

 }

您可以定義一個(gè)類型以匹配 JSON 文檔的結(jié)構(gòu)并解碼為該類型:


 func (s Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {

    var v struct {

       Foo string `json:"foo"`

    }

    err := json.NewDecoder(r.Body).Decode(&v)

    if err != nil {

       // handle error

    }

    log.Printf("%#v", v) // logs struct { Foo string "json:\"foo\"" }{Foo:"bar"} for your input

 }


查看完整回答
反對 回復(fù) 2021-09-10
  • 1 回答
  • 0 關(guān)注
  • 218 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號