为了账号安全,请及时绑定邮箱和手机立即绑定

Post API 在数字文字中获取无效字符“-”

Post API 在数字文字中获取无效字符“-”

Go
呼啦一阵风 2023-07-04 10:05:07
我正在尝试使用 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 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

我在邮递员中使用表单数据时遇到了同样的问题,我最终决定使用 json 并且它有效



查看完整回答
反对 回复 2023-07-04
?
烙印99

TA贡献1829条经验 获得超13个赞

您应该更改form-data为raw->JSON并像这样发送:


{

    "Name" : "morefeizi",

    "Status" : "1"

}


查看完整回答
反对 回复 2023-07-04
?
慕田峪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)来解析数据。


查看完整回答
反对 回复 2023-07-04
?
12345678_0001

TA贡献1802条经验 获得超5个赞

将 JSON 数据从 PostMan 发送到 unmarshal


//img1.sycdn.imooc.com//64a3bc55000130c621750768.jpg

查看完整回答
反对 回复 2023-07-04
  • 4 回答
  • 0 关注
  • 167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信