Передача полезной нагрузки одного запроса API в вызов API 2
Мне нравится создавать два API, в которых выполняется запрос на получение информации в одном API, а вставка в базу данных выполняется в другом вызове API. Как я мог добиться этого в Fiber.
рассмотрим следующий блок кода
func getName(c *fiber.Ctx) {
// get the name api
// call the insertName func from here with name argument
insertName(arg)
}
func insertName() {
// insert the argument to the database
}
Как вызвать вторую функцию с помощью POST в Go fiber framework, чтобы я передавал полезные данные другому API.
1 ответ
Это мой подход:
Вот пакет для маршрутизации и обработчик
package path
// ./path/name
app.Get("/name", func(c *fiber.Ctx) {
p := controller.Name{name: "random_name"}
result := controller.InsertName()
c.JSON(fiber.Map{
"success": result
})
})
app.Post("/name", func(c *fiber.Ctx) {
p := new(controller.Name)
if err := c.BodyParser(p); err != nil {
log.Fatal(err)
}
result := controller.InsertName(p)
c.JSON(fiber.Map{
"success": result
})
})
Вот пакет для сохранения и чтения из базы данных
package controller
// ./controller/name
type Name struct {
Name string `json:"name" xml:"name" form:"name"`
}
func insertName(n Name) bool {
// insert the argument to the database
return resultFromDatabase
}