Bu yüzden, inanılmaz derecede acımasız görünen aşağıdakilere sahibim ve Go'nun kendisinden bundan daha iyi tasarlanmış kütüphaneler olduğunu düşünüyorum, ancak Go'nun JSON verilerinin POST isteğini işleyişine bir örnek bulamıyorum. Hepsi POST'lardır.
İşte bir örnek istek: curl -X POST -d "{\"test\": \"that\"}" http://localhost:8082/test
Ve işte günlükler gömülü kod:
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))
}
Daha iyi bir yol olmalı, değil mi? En iyi uygulamanın ne olabileceğini bulmak beni çok şaşırttı.
(Go, arama motorlarına Golang olarak da bilinir ve burada bu şekilde bahsedilmiştir, böylece diğerleri bulabilir.)
curl -X POST -H 'Content-Type: application/json' -d "{\"test\": \"that\"}"
, o zamanreq.Form["test"]
dönmelidir"that"