errorresponse.go 936 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package controllers
  2. import (
  3. "fmt"
  4. "github.com/kataras/iris"
  5. )
  6. const (
  7. ErrOk = 0
  8. ErrNormal = -1
  9. ErrDatabase = 10000
  10. )
  11. // ErrorResponse 失败的httpResponse
  12. type ErrorResponse struct {
  13. Code int `json:"code"` //错误码
  14. Message string `json:"message"` //错误信息
  15. Result interface{} `json:"result"` //返回的结果
  16. }
  17. func responseError(ctx iris.Context, code int, message string) {
  18. ctx.JSON(ErrorResponse{
  19. Code: code,
  20. Message: message,
  21. })
  22. }
  23. func fail(ctx iris.Context, code int, format string, a ...interface{}) {
  24. ctx.StatusCode(code)
  25. if format != "" {
  26. ctx.Values().Set("reason", fmt.Sprintf(format, a))
  27. }
  28. ctx.StopExecution()
  29. }
  30. func done(ctx iris.Context, result interface{}) {
  31. ctx.JSON(ErrorResponse{
  32. Code: 0,
  33. Message: "success",
  34. Result: result,
  35. })
  36. }
  37. func badRequest(ctx iris.Context, err error) {
  38. fail(ctx, iris.StatusBadRequest, "错误:%s", err.Error())
  39. }