इसलिए मेरे पास निम्नलिखित है, जो अविश्वसनीय रूप से हैकरी लगता है, और मैं अपने आप से सोच रहा हूं कि गो ने इससे बेहतर डिज़ाइन किए गए पुस्तकालय हैं, लेकिन मुझे JSON डेटा के POST अनुरोध को संभालने वाले गो का उदाहरण नहीं मिल सकता है। वे सभी POST हैं।
यहाँ एक उदाहरण अनुरोध है: curl -X POST -d "{\"test\": \"that\"}" http://localhost:8082/test
और यहाँ कोड लॉग्स के साथ कोड है:
package main
import (
"encoding/json"
"log"
"net/http"
)
type test_struct struct {
Test string
}
func test(rw http.ResponseWriter, req *http.Request) {
req.ParseForm()
log.Println(req.Form)
//LOG: map[{"test": "that"}:[]]
var t test_struct
for key, _ := range req.Form {
log.Println(key)
//LOG: {"test": "that"}
err := json.Unmarshal([]byte(key), &t)
if err != nil {
log.Println(err.Error())
}
}
log.Println(t.Test)
//LOG: that
}
func main() {
http.HandleFunc("/test", test)
log.Fatal(http.ListenAndServe(":8082", nil))
}
वहाँ एक बेहतर तरीका है, है ना? मैं सिर्फ यह जानकर स्तब्ध हूं कि सबसे अच्छा अभ्यास क्या हो सकता है।
(गो को खोज इंजनों के रूप में गोलंग के रूप में भी जाना जाता है, और यहां उल्लेख किया गया है ताकि अन्य इसे पा सकें।)
curl -X POST -H 'Content-Type: application/json' -d "{\"test\": \"that\"}"
, तोreq.Form["test"]
वापस आना चाहिए"that"