登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-20 19:45:36 216浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《无法从 Postman 中的 Get Url 获取对象 ID》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

看起来我的 url 不匹配,因为它显示 404 错误,我也尝试更改邮递员和我的代码中的 url。还尝试使用对象 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",
    })
}

这是 postman 的屏幕截图


解决方案


在 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",
    })
}

今天关于《无法从 Postman 中的 Get Url 获取对象 ID》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>