DeployHelper/internal/middleware/unified_return.go

21 lines
543 B
Go
Raw Normal View History

2025-08-01 16:38:08 +08:00
package middleware
import (
"ego/internal/serializer"
"ego/pkg/logger"
"fmt"
"net/http"
"github.com/gin-gonic/gin"
)
// UnifiedErrorResponse 统一错误处理中间件
func UnifiedErrorResponse() gin.HandlerFunc {
return gin.CustomRecovery(func(c *gin.Context, err any) {
// 1. 记录完整错误日志
logger.Error(c, fmt.Sprintf("系统错误: %v", err))
// 2. 返回统一的Json风格
c.AbortWithStatusJSON(http.StatusOK, serializer.Err(http.StatusInternalServerError, "系统繁忙稍后重试!", err.(error)))
})
}