实战--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 批量查询标签完整数据,封装结果并返回。
相关推荐
企业数字化笔记6 小时前
固定资产历史数据怎么导入系统?Excel模板、字段映射和数据校验
android·java·数据库·后端
troy1286 小时前
Python 基础语法(一):变量、数据类型与运算符
java·服务器·python
还是奇怪7 小时前
OpenAI GPT-5.6 构建指南拆解:创业公司如何用模型选择与 Responses API 降低 Agent 成本
java·数据库·人工智能·gpt
可涵不会debug7 小时前
LangChain 文本分割器详解:字符分割、Token 分割、硬约束递归分割实战
java·前端·数据库
sbjdhjd7 小时前
ThinkPHP 5.0.10 缓存写入型 RCE 复盘:从手动搭建、换行绕过到源码单步验证 | 05
java·后端·安全·spring·网络安全·数据挖掘·php
程序员清风7 小时前
记忆系统设计:让 Agent 拥有短期记忆与长期记忆
java·服务器·网络
EatFan7 小时前
前后端分离项目中 Token 到底应该怎么设计?Access Token + Refresh Token 实战
java·前端·后端
麻瓜code7 小时前
[Agent]Spring AI 工具调用实战:让大模型真正“干活“(@Tool 六大工具 + 统一注册)
java·人工智能·spring
vx-程序开发7 小时前
【毕设分享】springboot废品上门回收微信小程序---附源码94491
java·spring boot·毕业设计·源码·课程设计·毕设·大作业
宸津-代码粉碎机7 小时前
Spring AI 高危CVE漏洞深度复盘|生产禁跑版本汇总+临时防御+修复方案
java·大数据·人工智能·python·spring