35 lines
579 B
Go
35 lines
579 B
Go
package main
|
||
|
||
import (
|
||
"github.com/gin-gonic/gin"
|
||
)
|
||
|
||
// 定义数据结构体
|
||
type UserJSON struct {
|
||
Name string `json:"name"`
|
||
Email string `json:"email"`
|
||
Age int `json:"age"`
|
||
}
|
||
|
||
func main() {
|
||
r := gin.Default()
|
||
|
||
r.POST("/users", func(c *gin.Context) {
|
||
var user UserJSON
|
||
|
||
// 方式 1:ShouldBindJSON(推荐,错误时不会中断)
|
||
if err := c.ShouldBindJSON(&user); err != nil {
|
||
c.JSON(400, gin.H{"error": err.Error()})
|
||
return
|
||
}
|
||
|
||
// 业务逻辑
|
||
c.JSON(201, gin.H{
|
||
"message": "User created",
|
||
"data": user,
|
||
})
|
||
})
|
||
|
||
r.Run(":9999")
|
||
}
|