如果我将 JSON 数据发布到 gofiber 中的 /post 路由,我将如何读取和更改这些值:
{
"name" : "John Wick"
"email" : "johnw@gmail.com"
}
app.Post("/post", func(c *fiber.Ctx) error {
//read the req.body here
name := req.body.name
return c.SendString(name)
}
您可以使用BodyParser
app.Post("/post", func(c *fiber.Ctx) error {
payload := struct {
Name string `json:"name"`
Email string `json:"email"`
}{}
if err := c.BodyParser(&payload); err != nil {
return err
}
return c.JSON(payload)
}
1-假设名称和电子邮件是给用户的,所以首先创建一个用户结构:
type User struct {
Name string `json: "email"`
Email string `json: "email"`
}
2-在您看来,您可以像这样得到它:
app.Post("/post", func(c *fiber.Ctx) error {
user := new(User)
if err := ctx.BodyParser(user); err != nil {
fmt.Println("error = ",err)
return ctx.SendStatus(200)
}
// getting user if no error
fmt.Println("user = ", user)
fmt.Println("user = ", user.Name)
fmt.Println("user = ", user.Email)
return c.SendString(user.Name)
}