documentation से यह कहा गया है किखाली अनुरोध निकाय के लिए जांच करने का सबसे अच्छा तरीका क्या है?
सर्वर के लिए अनुरोध करता है अनुरोध शरीर हमेशा गैर नहीं के बराबर है लेकिन EOF तुरंत वापस आ जाएगी जब कोई शरीर मौजूद है।
ContentLength के लिए, प्रलेखन राज्यों
ग्राहक अनुरोधों के लिए, 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
}
जाहिर EOF, 'सामग्री-Length' एक हैडर है कि ग्राहक या सेट नहीं कर सकते कर सकते हैं। – thwd
त्रुटियों के स्ट्रिंग मान के साथ मक न करें। यदि आप 'io.EOF' की तलाश में हैं तो 'if if == io.EOF' करें। स्ट्रिंग प्रतिनिधित्व को देखकर सबसे अविश्वसनीय रूप से नाजुक है। –