package handlers import ( "github.com/gofiber/fiber/v2" ) // GenerateBarcode godoc // // @Summary Generate barcodes // @Description Generate barcodes based on the provided data // @Tags barcodes // @Param type path string true "Barcode type" Enums(ean13, code128) // @Param content path string true "Barcode content" MinLength(1) // @Produce image/png // @Router /v1/barcodes/{type}/{content} [get] func (h *DefaultHandler) GenerateBarcode(c *fiber.Ctx) error { // Get the type and content from the URL barcodeType := c.Params("type") barcodeContent := c.Params("content") // Generate the barcode barcode, err := h.BarcodeService.GenerateBarcode(barcodeType, barcodeContent, 1000, 1000) if err != nil { return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{ "error": err.Error(), }) } c.Set(fiber.HeaderContentType, "image/png") return c.Send(barcode.Bytes()) }