Как получить тело запроса в 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",

    })
}

1 ответ

Пожалуйста, проверьте решение проблемы по ссылке как github fiber

Другие вопросы по тегам