私は次のことを信じられないように思えます.Goはこれよりもライブラリのデザインが優れていると思いますが、Goを使ってPOSTを処理する例は見つかりませんJSONデータのリクエストそれらはすべてフォームPOSTです。ログが埋め込まれて、curl -X POST -d "{\"test\": \"that\"}" http://localhost:8082/test
GoでのJSONのポストリクエストの処理
そしてここでのコードは次のとおりです:ここで
は、例えば、要求され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))
}
そこは右、より良い方法があるはずですか?私はベストプラクティスが何であるかを見つけ出すだけで困っている。
(Goはまた、検索エンジンにGolangとして知られており、他の人がそれを見つけることができますので、ここで言及されている。)
あなたが 'curl -X POST -H 'を使うならば、Content-Type:application/json' -d '{\" test \ ":\" that \ "}" '、' req.Form ["test" ] '返すべきである' '' '' '' ' – Vinicius
@Viniciusはこれについて何か証拠がありますか? – diraria