Golang RestApi Mysql 插入查询

我是 Golang 的菜鸟,试图创建 RestApi,它从邮递员那里获取请求并将其存储在 MYSQL 中。在尝试插入具有两列(名称和标题)但在插入数据库时一列始终为空的行时,请告诉我如何添加多个字段。


func createPost(w http.ResponseWriter, r *http.Request) {

    w.Header().Set("Content-Type", "application/json")


    stmt, err := db.Prepare("INSERT INTO posts(name,title) VALUES(?,?)")

    if err != nil {

        panic(err.Error())

    }


    body, err := ioutil.ReadAll(r.Body)

    if err != nil {

        panic(err.Error())

    }


    keyVal := make(map[string]string)

    json.Unmarshal(body, &keyVal)

    name := keyVal["name"]

    title := keyVal["title"]

    _, err = stmt.Exec(name, title)

    if err != nil {

        panic(err.Error())

    }

}





JSON Request :

{

    "name":"John"

    "title":"Engineer"

}


阿波罗的战车
浏览 111回答 2
2回答

手掌心

先检查Unmarshal错误,可能你的要求不对。如果您正确发布,则您的 JSON 请求缺少逗号:{&nbsp;"name":"John" <<<<<<<< comma here&nbsp;"title":"Engineer"}

慕码人2483693

首先使用以下函数转换您收到的 json -func FromJSON(i interface{}, r io.Reader) error {&nbsp; &nbsp; d := json.NewDecoder(r)&nbsp; &nbsp; return d.Decode(i)}如果仍然有任何问题,那么问题可能在于发送请求时的逗号,如果您使用的是邮递员,则请求应该是 { "name":"John", "title":"Engineer", }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go