我正在嘗試使用 go 創建一個 POST 函數來將數據插入到我的數據庫中。我的型號:type Funcstruct { Name string `json:"Name"` Status string `json:"Status"`}我的帖子功能://POST FUNCfunc (app *App) createFunc(w http.ResponseWriter, r *http.Request) { decoder := json.NewDecoder(r.Body) var data Func err := decoder.Decode(&data) if err != nil { panic(err) } Name := data.Name Status := data.Status database, err := db.CreateDatabase() if err != nil { log.Fatal("Not connect to db") } _, err = database.Exec("INSERT INTO `func` (Name, Status) VALUES ($1, $2)", Name, Status) if err != nil { log.Fatal("Error inserting data") } log.Println("Alright!") w.WriteHeader(http.StatusOK)}所以我做了一個 go build,然后做了一個 ./nameproject因此,我進入 PostMan 并發出一個 post http 請求,傳遞表單數據中的名稱和狀態,但我收到:2019/07/12 22:20:38 http: 恐慌服務 [::1]:54600: 數字文字中的無效字符“-”
4 回答

慕田峪7331174
TA貢獻1828條經驗 獲得超13個贊
我在郵遞員中使用多部分/表單數據時遇到同樣的問題。最后我解決了它。
我用杜松子酒,但我認為這是同樣的問題。
我之前的代碼
type XXXReq struct {
FiledA string `form:"file_a"`
}
var req XXXReq
if err := ctx.ShouldBindJSON(&req); err != nil {
DOSOMETHING
}
我的代碼之后
type XXXReq struct {
FiledA string `form:"file_a"`
}
var req XXXReq
if err := ctx.ShouldBind(&req); err != nil {
DOSOMETHING
}
所以,也許你不應該使用它decoder := json.NewDecoder(r.Body)來解析數據。
- 4 回答
- 0 關注
- 230 瀏覽
添加回答
舉報
0/150
提交
取消