无法从 Postman 中的 Get Url 获取对象 ID

似乎我的网址不匹配,因为它显示了 404 错误,我也尝试更改邮递员和我的代码中的网址。还尝试使用对象 ID 转换来查看 404 是否由此引起。


func main() {

    r := gin.Default()

    r.GET("/get-custone/:_id", getDetailone)

    r.Run()

func getDetailone(c *gin.Context) {

    session := connect()

    defer session.Close()

    col := session.DB("test").C("cust")

    var results Person

    idstring:=c.Param("_id")

    oid:=bson.ObjectId(idstring)

    err := col.Find(bson.M{"_id":oid}).One(&results)

    if err != nil {

        panic(err)

    }

    c.JSON(200, gin.H{

        "message": "success",

    })

}

这是邮递员的截图

http://img3.mukewang.com/641978980001a07a16300661.jpg

慕盖茨4494581
浏览 146回答 1
1回答

达令说

在 Postman 中,您试图_id作为查询字符串传递,而您正在等待代码中的路径参数。你想要做的是:curl -X GET http://localhost:8080/get-custone/5b7d...如果你更喜欢使用查询字符串参数,你应该做类似的事情(我没有测试代码):func main() {    r := gin.Default()    r.GET("/get-custone", getDetailone)    r.Run()} func getDetailone(c *gin.Context) {    session := connect()    defer session.Close()    col := session.DB("test").C("cust")    var results Person    idstring:= c.Query("_id")    oid:=bson.ObjectId(idstring)    err := col.Find(bson.M{"_id":oid}).One(&results)    if err != nil {        panic(err)    }    c.JSON(200, gin.H{        "message": "success",    })}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go