package main import ( // "fmt" "github.com/gin-gonic/gin" "golang-test/controllers" "golang-test/database" "log" "net/http" ) func main() { r := gin.Default() r.POST("/product", func(c *gin.Context) { var product database.Product err := c.ShouldBind(&product) if err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) return } //c.JSON(http.StatusOK, &product) response := controllers.CreateProduct(product) c.JSON(http.StatusOK, response) }) r.POST("/manufacturer", func(c *gin.Context) { var manufacturer database.Manufacturer if err := c.ShouldBind(&manufacturer); err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) } controllers.CreateManufacturer(c, manufacturer) }) r.DELETE("/manufacturer/:id", func(c *gin.Context) { controllers.DeleteManufacturer(c) }) r.GET("/manufacturer", func(c *gin.Context) { controllers.GetManufacturers(c) }) err := r.Run() if err != nil { return } defer func() { db := database.Connector() sqlDB, err := db.DB() if err != nil { log.Fatal(err) } err = sqlDB.Close() if err != nil { log.Println(err) } }() }