从文档中它指出
对于服务器请求,请求正文始终为非零,但在没有正文时会立即返回 EOF。
对于 ContentLength,文档说明
对于客户端请求,如果 Body 不为零,则值为 0 表示未知。
那么检查 ContentLength 是否更好
r *http.Request
if r.ContentLength == 0 {
//empty body
}
或检查EOF
type Input struct {
Name *string `json:"name"`
}
input := new(Input)
if err := json.NewDecoder(r.Body).Decode(input); err.Error() == "EOF" {
//empty body
}
倚天杖
holdtom
相关分类