그래서 나는 다음을 가지고 있습니다. 매우 해키처럼 보이고 Go는 이것보다 라이브러리를 더 잘 설계했다고 생각했지만 Go는 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))
}
더 좋은 방법이 있어야합니까? 모범 사례가 무엇인지 찾아내는 데 어려움을 겪었습니다.
Go는 검색 엔진에 Golang이라고도하며 여기에서 언급되어 다른 사람들이 찾을 수 있습니다.
curl -X POST -H 'Content-Type: application/json' -d "{\"test\": \"that\"}"
경우 다음req.Form["test"]
을 반환해야합니다"that"