[英]Unable to get Object Id from Get Url in Postman
看起来我的 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 中,您试图将_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",
})
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.