实战--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 批量查询标签完整数据,封装结果并返回。
相关推荐
wdfk_prog2 分钟前
lwip教程 38:从 `lwipopts.h` 到 Port Contract——lwIP 裁剪、构建选择、OS Port 与 Network Port
java·开发语言
吹什么轩4 分钟前
MySQL 内置函数全景:日期 / 字符串 / 数学 / 其他,一次讲透(附索引杀手排查)
java·数据库·面试
略略略咯咯9 分钟前
12333
java
会编程的吕洞宾13 分钟前
Spring AI 语义缓存:重复提问不重复花钱
java·人工智能·后端·spring
海绵宝宝转agent20 分钟前
leetcodehot100个人题解
java·笔记·学习·算法
sunburn-24 分钟前
数据库增删改查:从 SQL 基础到实践要点
java·数据库·mysql
郭小李32 分钟前
spring @RequestMapping注解
java·后端·spring
RuoyiOffice2 小时前
llama.cpp + SpringBoot3:本地部署 Qwen3.8,接入 AgentOS 企业办公智能体
spring boot·springboot3·llama.cpp·spring ai·qwen3.8·agentos
晨曦中的暮雨9 小时前
限流算法——固定窗口、滑动窗口、漏桶、令牌桶
java·开发语言·算法
学长毕设10 小时前
基于SpringBoot的青少年编程学习平台系统-附源码
spring boot·学习·青少年编程