一、全局统一异常处理代码解析
java
运行
@ControllerAdvice
public class AllExceptionHandler {
@ExceptionHandler(Exception.class)
public Result doException(Exception e){
e.printStackTrace();
return Result.fail(-999,"系统异常");
}
}
@ControllerAdvice:全局控制器增强注解,对所有控制器生效。@ExceptionHandler(Exception.class):捕获项目中所有未手动捕获的异常。- 执行逻辑:打印异常堆栈信息,统一返回错误码
-999与提示信息 系统异常。
二、热门标签查询业务代码解析
java
运行
@Override
public Result hots(int limit) {
// 查询热度靠前的标签ID集合
List<Long> tagIds = tagMapper.findHotsTagIds(limit);
// 判断集合是否为空
if (CollectionUtils.isEmpty(tagIds)){
return Result.success(Collections.emptyList());
}
// 根据标签ID批量查询标签信息
List<Tag> tagList = tagMapper.findTagsByTagIds(tagIds);
return Result.success(tagList);
}
- 接收参数
limit,用于限定返回标签数量。 - 调用 Mapper 层方法,按热度查询对应数量的标签 ID。
- 做非空判断,无数据则返回空集合。
- 根据标签 ID 批量查询标签完整数据,封装结果并返回。