异常堆栈直接返回前端,既泄露实现细节,前端也没法按错误做分支。
在全局异常处理器里统一兜底,按业务错误码映射成固定的 code 和 message。
错误码分段管理:参数类、权限类、业务类各占一段,日志里打堆栈但响应不带。
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(BizException.class)
public Result<?> handle(BizException e) {
// 响应只给业务码和可展示文案,堆栈写日志
log.error("biz error code={}", e.getCode(), e);
return Result.fail(e.getCode(), e.getMessage());
}
}
THE END






暂无评论内容