package binding import ( "git.sxidc.com/go-framework/baize/api" "github.com/gin-gonic/gin/binding" "net/http" ) func JsonBody[O any](c *api.Context, request any, sendFunc SendFunc[O]) bool { err := c.ShouldBindJSON(request) if err != nil { var zero O sendFunc(c, http.StatusBadRequest, zero, err) return false } return true } func QueryParams[O any](c *api.Context, query any, sendFunc SendFunc[O]) bool { err := c.ShouldBindQuery(query) if err != nil { var zero O sendFunc(c, http.StatusBadRequest, zero, err) return false } return true } func MultipartForm[O any](c *api.Context, request any, sendFunc SendFunc[O]) bool { err := c.ShouldBindWith(request, binding.FormMultipart) if err != nil { var zero O sendFunc(c, http.StatusBadRequest, zero, err) return false } return true } func Form[T any](c *api.Context, request interface{}, sendFunc SendFunc[T]) bool { err := c.ShouldBindWith(request, binding.Form) if err != nil { var zero T sendFunc(c, http.StatusBadRequest, zero, err) return false } return true } func XMLBody[T any](c *api.Context, request interface{}, sendFunc SendFunc[T]) bool { err := c.ShouldBindXML(request) if err != nil { var zero T sendFunc(c, http.StatusBadRequest, zero, err) return false } return true }