initial commit example
This commit is contained in:
61
controller/bottles.go
Normal file
61
controller/bottles.go
Normal file
@@ -0,0 +1,61 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"strconv"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/swaggo/swag/example/celler/httputil"
|
||||
"github.com/swaggo/swag/example/celler/model"
|
||||
)
|
||||
|
||||
// ShowBottle godoc
|
||||
//
|
||||
// @Summary Show a bottle
|
||||
// @Description get string by ID
|
||||
// @ID get-string-by-int
|
||||
// @Tags bottles
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param id path int true "Bottle ID"
|
||||
// @Success 200 {object} model.Bottle
|
||||
// @Failure 400 {object} httputil.HTTPError
|
||||
// @Failure 404 {object} httputil.HTTPError
|
||||
// @Failure 500 {object} httputil.HTTPError
|
||||
// @Router /bottles/{id} [get]
|
||||
func (c *Controller) ShowBottle(ctx *gin.Context) {
|
||||
id := ctx.Param("id")
|
||||
bid, err := strconv.Atoi(id)
|
||||
if err != nil {
|
||||
httputil.NewError(ctx, http.StatusBadRequest, err)
|
||||
return
|
||||
}
|
||||
bottle, err := model.BottleOne(bid)
|
||||
if err != nil {
|
||||
httputil.NewError(ctx, http.StatusNotFound, err)
|
||||
return
|
||||
}
|
||||
ctx.JSON(http.StatusOK, bottle)
|
||||
}
|
||||
|
||||
// ListBottles godoc
|
||||
//
|
||||
// @Summary List bottles
|
||||
// @Description get bottles
|
||||
// @Tags bottles
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Success 200 {array} model.Bottle
|
||||
// @Failure 400 {object} httputil.HTTPError
|
||||
// @Failure 404 {object} httputil.HTTPError
|
||||
// @Failure 500 {object} httputil.HTTPError
|
||||
// @Router /bottles [get]
|
||||
func (c *Controller) ListBottles(ctx *gin.Context) {
|
||||
bottles, err := model.BottlesAll()
|
||||
if err != nil {
|
||||
httputil.NewError(ctx, http.StatusNotFound, err)
|
||||
return
|
||||
}
|
||||
ctx.JSON(http.StatusOK, bottles)
|
||||
}
|
||||
Reference in New Issue
Block a user