params_bind_func.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package request
  2. import (
  3. "git.sxidc.com/go-framework/baize/framework/core/api"
  4. "github.com/gin-gonic/gin/binding"
  5. "github.com/pkg/errors"
  6. )
  7. // BindRequestParamsFunc 请求绑定函数
  8. type BindRequestParamsFunc func(c *api.Context, params Params) error
  9. // BindJsonBody 绑定Json类型的Body请求到请求参数接口
  10. // 参数:
  11. // - c: 上下文
  12. // - params: 请求参数接口
  13. // 返回值:
  14. // - 错误
  15. func BindJsonBody(c *api.Context, params Params) error {
  16. err := c.ShouldBindJSON(params)
  17. if err != nil {
  18. return errors.New(err.Error())
  19. }
  20. return nil
  21. }
  22. // BindQueryParams 绑定查询参数到请求参数接口
  23. // 参数:
  24. // - c: 上下文
  25. // - params: 请求参数接口
  26. // 返回值:
  27. // - 错误
  28. func BindQueryParams(c *api.Context, params Params) error {
  29. err := c.ShouldBindQuery(params)
  30. if err != nil {
  31. return errors.New(err.Error())
  32. }
  33. return nil
  34. }
  35. // BindPathParams 绑定路径参数到请求参数接口
  36. // 参数:
  37. // - c: 上下文
  38. // - params: 请求参数接口
  39. // 返回值:
  40. // - 错误
  41. func BindPathParams(c *api.Context, params Params) error {
  42. err := c.ShouldBindUri(params)
  43. if err != nil {
  44. return errors.New(err.Error())
  45. }
  46. return nil
  47. }
  48. // BindMultipartForm 绑定multipart body到请求参数接口
  49. // 参数:
  50. // - c: 上下文
  51. // - params: 请求参数接口
  52. // 返回值:
  53. // - 错误
  54. func BindMultipartForm(c *api.Context, params Params) error {
  55. err := c.ShouldBindWith(params, binding.FormMultipart)
  56. if err != nil {
  57. return errors.New(err.Error())
  58. }
  59. return nil
  60. }
  61. // BindFormBody 绑定form body到请求参数接口
  62. // 参数:
  63. // - c: 上下文
  64. // - params: 请求参数接口
  65. // 返回值:
  66. // - 错误
  67. func BindFormBody(c *api.Context, params Params) error {
  68. err := c.ShouldBindWith(params, binding.Form)
  69. if err != nil {
  70. return errors.New(err.Error())
  71. }
  72. return nil
  73. }
  74. // BindXMLBody 绑定xml body到请求参数接口
  75. // 参数:
  76. // - c: 上下文
  77. // - params: 请求参数接口
  78. // 返回值:
  79. // - 错误
  80. func BindXMLBody(c *api.Context, params Params) error {
  81. err := c.ShouldBindXML(params)
  82. if err != nil {
  83. return errors.New(err.Error())
  84. }
  85. return nil
  86. }