common.go 749 B

1234567891011121314151617181920212223242526272829303132333435
  1. package api
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "gadmin/config"
  6. "gadmin/utility/serializer"
  7. "github.com/gin-gonic/gin"
  8. "gopkg.in/go-playground/validator.v8"
  9. )
  10. func Ping(c *gin.Context) {
  11. c.JSON(200, serializer.Response{
  12. Code: 0,
  13. Msg: "Pong",
  14. })
  15. }
  16. func ErrorResponse(err error) serializer.Response {
  17. if ve, ok := err.(validator.ValidationErrors); ok {
  18. for _, e := range ve {
  19. field := config.T(fmt.Sprintf("Field.%s", e.Field))
  20. tag := config.T(fmt.Sprintf("Tag.Valid.%s", e.Tag))
  21. return serializer.ParamErr(
  22. fmt.Sprintf("%s%s", field, tag),
  23. err,
  24. )
  25. }
  26. }
  27. if _, ok := err.(*json.UnmarshalTypeError); ok {
  28. return serializer.ParamErr("JSON类型不匹配", err)
  29. }
  30. return serializer.ParamErr("参数错误", err)
  31. }