Как получить тело запроса в Go Fiber framework
Я пытаюсь реализовать свой бэкэнд с помощью инфраструктуры GO Fiber, однако меня немного смущает, как получить тело запроса в почтовом запросе на GO fiber, чтобы я мог обработать его для своей логики бэкенда. Пожалуйста, помогите мне, так как я новичок в Fiber framework и GO.
Функция оптоволоконного контроллера My Go
// CreateTodo : Create a todo
func CreateFarm(c *fiber.Ctx) error {
farmCollection := config.MI.DB.Collection(os.Getenv("FARM_COLLECTION"))
data := new(models.Farms)
log.Println("dasta", data)
err := c.BodyParser(&data) <------ how to get request body
// if error
if err != nil {
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
"success": false,
"message": "Cannot parse JSON",
"error": err,
})
}
result, err := farmCollection.InsertOne(c.Context(), data)
if err != nil {
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
"success": false,
"message": "Cannot insert todo",
"error": err,
})
}
// get the inserted data
farm := &models.Farms{}
query := bson.D{{Key: "_id", Value: result.InsertedID}}
farmCollection.FindOne(c.Context(), query).Decode(farm)
return c.Status(fiber.StatusCreated).JSON(fiber.Map{
"success": true,
"message": "Farm Update successfully",
})
}