1
func deserialize(request *http.Request,typ reflect.Type) (interface{}, *httpNet.HandlerError){
data,e:=ioutil.ReadAll(request.Body)
fmt.Println(string(data))
if e !=nil{
return nil,&httpNet.HandlerError{e,"could not read request",http.StatusBadRequest}
}
v:=typ.Elem()
payload:=reflect.New(v).Elem().Interface()
eaa:= json.NewDecoder(request.Body).Decode(payload)
if e!=nil{
fmt.Println(eaa.Error())
}
fmt.Println(payload)
fmt.Println(reflect.ValueOf(payload)
)
return payload,nil
}
r,_:= deserialize(request,reflect.TypeOf(&testData{}))
它不會引發錯誤,看起來完全有效的操作給我,但結果是期望類型的空結構。
這是什麼問題?
坦,測試,但我得到了同樣的結果 – Mohsen
@Mohsen我在做同樣的事情在我的代碼和它完美的作品。你確定有數據進入嗎? –
@Mohsen我在操場上創建了一個簡化的工作示例。查看答案的編輯文本。 –