我如何获得发送的正文?使用杜松子酒
How do I get the body that was sent? Using gin gonic
如何获取发送的正文?
package main
import (
"fmt"
"github.com/gin-gonic/gin"
)
func main() {
fmt.Println("Hello, world!")
r := gin.Default()
r.POST("/", func(c *gin.Context) {
body := c.Request.Body
c.JSON(200,body);
})
r.Run(":8080");
}
我通过邮递员请求
{
"email": "test@gmail.com",
"password": "test"
}
作为回应,我得到空 json {}
怎么办?
您可以按如下方式绑定传入请求json:
package main
import (
"github.com/gin-gonic/gin"
)
type LoginReq struct {
Email string
Password string
}
func main() {
r := gin.Default()
r.POST("/", func(c *gin.Context) {
var req LoginReq
c.BindJSON(&req)
c.JSON(200, req)
})
r.Run(":8080")
}
请记住,如果存在绑定错误,此方法会给出 400
。如果您想自己处理错误,请尝试 ShouldBindJSON
如果有错误 returns 或 nil
.
如何获取发送的正文?
package main
import (
"fmt"
"github.com/gin-gonic/gin"
)
func main() {
fmt.Println("Hello, world!")
r := gin.Default()
r.POST("/", func(c *gin.Context) {
body := c.Request.Body
c.JSON(200,body);
})
r.Run(":8080");
}
我通过邮递员请求
{
"email": "test@gmail.com",
"password": "test"
}
作为回应,我得到空 json {} 怎么办?
您可以按如下方式绑定传入请求json:
package main
import (
"github.com/gin-gonic/gin"
)
type LoginReq struct {
Email string
Password string
}
func main() {
r := gin.Default()
r.POST("/", func(c *gin.Context) {
var req LoginReq
c.BindJSON(&req)
c.JSON(200, req)
})
r.Run(":8080")
}
请记住,如果存在绑定错误,此方法会给出 400
。如果您想自己处理错误,请尝试 ShouldBindJSON
如果有错误 returns 或 nil
.