实战--2

一、全局统一异常处理代码解析

java

运行

复制代码
@ControllerAdvice
public class AllExceptionHandler {
    @ExceptionHandler(Exception.class)
    public Result doException(Exception e){
        e.printStackTrace();
        return Result.fail(-999,"系统异常");
    }
}
  1. @ControllerAdvice:全局控制器增强注解,对所有控制器生效。
  2. @ExceptionHandler(Exception.class):捕获项目中所有未手动捕获的异常。
  3. 执行逻辑:打印异常堆栈信息,统一返回错误码 -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);
}
  1. 接收参数 limit,用于限定返回标签数量。
  2. 调用 Mapper 层方法,按热度查询对应数量的标签 ID。
  3. 做非空判断,无数据则返回空集合。
  4. 根据标签 ID 批量查询标签完整数据,封装结果并返回。
相关推荐
nanxun88613 小时前
记一次诡异的 Docker 容器"串包"故障排查
java
用户15630681035116 小时前
Day01 | Java 基础(Java SE)
java
行者全栈架构师18 小时前
Maven dependency:tree 的 8 个高级用法
java·后端
行者全栈架构师1 天前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端
令人头秃的代码0_01 天前
mac(m5)平台编译openjdk
java
唐青枫2 天前
Java JDBC 实战指南:从 Connection 到事务和连接池
java
一个做软件开发的牛马2 天前
MyBatis-Plus 从零实战:完整搭建可运行 Demo,BaseMapper 零 SQL、Wrapper 条件构造、分页插件与代码生成器详解
java·后端
用户3721574261352 天前
Java 处理 PDF 图片:提取 PDF 中的图片,并压缩 PDF 图片体积
java
用户3721574261352 天前
Java 打印 Word 文档:从基础打印到高级设置
java
用户3521802454753 天前
当 Prompt 学会"热更新":Spring Boot × Nacos3 AI 实战
java·spring boot·ai编程