Go में JSON POST अनुरोध को सही तरीके से कैसे संसाधित करें? डिकोडिंग में समस्याएँ
सभी को नमस्कार! मैंने अभी Go सीखना शुरू किया है और एक सरल REST API लिख रहा हूँ। JSON POST अनुरोध को संसाधित करने में एक समस्या का सामना करना पड़ा। मेरा कोड तार्किक लगता है, लेकिन सर्वर हमेशा खाली डेटा या त्रुटि लौटाता है।
यहाँ मेरा handler कोड है:
```go
func CreateUserHandler(w http.ResponseWriter, r *http.Request) {
if r.Method != http.MethodPost {
http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)
return
}
var user User
err := json.NewDecoder(r.Body).Decode(&user)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
defer r.Body.Close()
fmt.Printf("User received: %+v\n", user)
w.WriteHeader(http.StatusCreated)
json.NewEncoder(w).Encode(user)
}
```
User संरचना:
```go
type User struct {
Name string `json:"name"`
Email string `json:"email"`
Age int `json:"age"`
}
```
मैं curl के माध्यम से अनुरोध भेज रहा हूँ:
```bash
curl -X POST http://localhost:8080/users -H "Content-Type: app