gin 获取post请求数据
时间: 2024-05-14 20:16:06 浏览: 94
请求https post 数据
在 框架中,获取 POST 请求数据可以通过 `c.Request.FormValue()` 或 `c.PostForm()` 方法实现。具体方法如下:
```go
// 获取单个 POST 参数
value := c.Request.FormValue("key")
// 获取所有 POST 参数
form := c.PostForm()
```
需要注意的是,如果 POST 请求的 Content-Type 是 application/json,需要通过 `c.ShouldBindJSON()` 方法来解析 JSON 数据。例如:
```go
type User struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
router := gin.Default()
router.POST("/user", func(c *gin.Context) {
var user User
if err := c.ShouldBindJSON(&user); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusOK, gin.H{"name": user.Name, "age": user.Age})
})
router.Run(":8080")
}
```
以上代码中,我们定义了一个路由 `/user`,当收到一个 POST 请求时,我们使用 `c.ShouldBindJSON()` 方法解析请求的 JSON 数据,并将解析后的数据返回给客户端。
阅读全文