fix: unify handler response format in user_handler.go

- List/Get/Update/Delete users: standardize to {code, message, data} format
- UpdateUserStatus: standardize to {code, message} format
- handleError: standardize to {code, message} format (was {error: ...})
- All inline bad request errors now use {code: 400, message: ...} consistently
This commit is contained in:
2026-04-11 11:22:10 +08:00
parent 2cd76b2835
commit 8fe4669b97
2 changed files with 25 additions and 22 deletions

View File

@@ -417,14 +417,13 @@ func handleError(c *gin.Context, err error) {
// 优先尝试 ApplicationError内置 HTTP 状态码)
var appErr *apierrors.ApplicationError
if errors.As(err, &appErr) {
c.JSON(int(appErr.Code), gin.H{"error": appErr.Message})
c.JSON(int(appErr.Code), gin.H{"code": appErr.Code, "message": appErr.Message})
return
}
// 对普通 errors.New 按关键词推断语义,但只返回通用错误信息给客户端
msg := err.Error()
code := classifyErrorMessage(msg)
c.JSON(code, gin.H{"error": "服务器内部错误"})
httpCode := classifyErrorMessage(err.Error())
c.JSON(httpCode, gin.H{"code": httpCode, "message": "服务器内部错误"})
}
// classifyErrorMessage 通过错误信息关键词推断 HTTP 状态码,避免业务错误被 500 吞掉