我正在使用郵遞員在本地主機上發佈json字符串。那蔭傳遞郵差JSON字符串是:請求正文在Go lang(Postman)中爲空
{
「name」: "foo"
}
然而,當我在我的測試功能檢索數據時,req.Body
我得到這樣的:&{%!s(*io.LimitedReader=&{0xc0820142a0 0}) <nil> %!s(*bufio.Reader=<nil>) %!s(bool=false) %!s(bool=true) {%!s(int32=0) %!s(uint32=0)} %!s(bool=true) %!s(bool=false) %!s(bool=false)}
我希望得到名稱:FOO在請求主體中。
爲同我去郎代碼:
import (
"encoding/json"
"fmt"
"net/http"
)
type Input struct {
Name string `json:"name"`
}
func test(rw http.ResponseWriter, req *http.Request) {
var t Input
json.NewDecoder(req.Body).Decode(&t)
fmt.Fprintf(rw, "%s\n", req.Body)
}
func main() {
http.HandleFunc("/test", test)
http.ListenAndServe(":8080", nil)
}
誰能告訴我爲什麼我在req.Body屬性獲取空白數據?非常感謝。
你應該打印't'而不是'req.Body'。**請**:處理每一個錯誤 – Volker
@Volker:我試過了。打印t給了我一個空白的'{}'。 ( –
你怎麼打印't'?像''%s「,t.name'或'」%#v「,t'。」{}「的輸出看起來很奇怪,並處理每一個錯誤 – Volker