package main import ( "github.com/gin-gonic/gin" "github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2/middleware/logger" "log" ) func main() { go ft() go gint() select {} } func ft() { app := fiber.New() app.Use(logger.New()) app.Get("/hello", func(ctx *fiber.Ctx) error { return ctx.BodyParser(nil) }) log.Fatal(app.Listen(":9989")) } func gint() { app := gin.Default() app.POST("/data", func(c *gin.Context) { type Req struct { Name string `json:"name"` Age int `json:"age"` } var ( err error req = new(Req) rm = make(map[string]any) ) if err = c.Bind(req); err != nil { log.Print("err 1:", err) c.String(500, err.Error()) return } if err = c.Bind(&rm); err != nil { log.Print("err 2:", err) c.String(500, err.Error()) return } c.JSON(200, gin.H{"rm": rm, "req": req}) }) log.Fatal(app.Run(":9998")) }