另客网go项目公用的代码库

helper.go 682B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package utils
  2. import (
  3. "net/http"
  4. "github.com/gin-gonic/gin"
  5. )
  6. func Must(i interface{}, err error) interface{} {
  7. if err != nil {
  8. panic(err)
  9. }
  10. return i
  11. }
  12. func Error(ctx *gin.Context, err error) error {
  13. if err != nil {
  14. ctx.JSON(http.StatusBadRequest, gin.H{"info": err.Error()})
  15. return err
  16. }
  17. return nil
  18. }
  19. func Bool(ctx *gin.Context, boolean bool) bool {
  20. if !boolean {
  21. ctx.JSON(http.StatusBadRequest, gin.H{"info": "validate failed"})
  22. return !boolean
  23. }
  24. return boolean
  25. }
  26. func Success(ctx *gin.Context, data ...interface{}) {
  27. response := gin.H{
  28. "info": "success",
  29. }
  30. if len(data) > 0 {
  31. response["data"] = data[0]
  32. }
  33. ctx.JSON(http.StatusOK, response)
  34. }