a0959618ca5ef0518e12544e554fce0bfa26c0d4
生产缺陷(2026-09-14 Spring Boot 4.1.1 / Jackson 2→3 迁移引入): - GalleryUtil.parseImageKeys 解析 mpv 页 imagelist 时,行尾分号属 JS 语法, Jackson 3 默认 FAIL_ON_TRAILING_TOKENS=true 会抛 StreamReadException。 改为先由 parseImagelist 剥掉 JS 语句外壳(前缀 + 行尾分号)再交给 JSON 解析。 已用线上真实页面验证:修复前必抛异常,修复后正确解析出 154 页 imgkey。 - GalleryManageService.cacheImagesKey 只 catch IOException,而 Jackson 3 的 JacksonException 继承 RuntimeException,异常穿透 Controller(无 @ControllerAdvice) 表现为 HTTP 500。改为同时兜 JacksonException 并按业务失败返回。 同时用 parseGidFromLink 拦住段数不足的畸形链接(原先会抛 ArrayIndexOutOfBoundsException 变成 500)。 既有行为修正: - PersonalService.deleteFile 原先依据 hutool FileUtil.del 的返回值报成功, 而该函数对不存在的目标返回 true,导致路径写错也显示「删除成功」; 改为先校验存在性,不存在则回「文件不存在」。 - PersonalService.getFiles 的 listFiles()==null 分支原先报「文件夹为空」, 但该返回值只在 I/O 出错时出现,会掩盖权限/磁盘问题,改为「读取文件夹失败」。 测试:143 → 379 用例,指令覆盖率 36.2% → 80.2%(分支 34.6% → 69.8%)。 新增控制器(MockMvc standaloneSetup)、服务层、拦截器/过滤器、WebSocket、 配置装配与 MyBatis AOT hints 的测试;全部离线可跑,不加载 Spring 上下文、不连库、不占端口。
Description
No description provided
7.8 MiB
Languages
Java
99.2%
PLpgSQL
0.5%
Shell
0.3%