123456789101112131415161718192021222324252627282930313233343536 |
- package bind
- import (
- "dy-admin/pkg/log"
- "dy-admin/pkg/rescode"
- "github.com/gin-gonic/gin"
- "github.com/gin-gonic/gin/binding"
- )
- func Bind(c *gin.Context, d interface{}, bindings ...binding.Binding) error {
- var err error
- if len(bindings) == 0 {
- bindings = constructor.GetBindingForGin(d)
- }
- for i := range bindings {
- if bindings[i] == nil {
- err = c.ShouldBindUri(d)
- } else {
- err = c.ShouldBindWith(d, bindings[i])
- }
- if err != nil && err.Error() == "EOF" {
- log.Warn("request body is not present anymore. ")
- err = nil
- continue
- }
- if err != nil {
- break
- }
- }
- if err != nil {
- err = rescode.RegisterErrorWithCause(err, rescode.NewErrCode(rescode.HttpCode400, 990000, "解析body参数错误", ""))
- }
- return err
- }
|