f3299bd655849d45577a2f9e8177e50829723a1f
基于 ResponseBodyAdvice 拦截 CommonResult 响应体,通过反射递归扫描 VO 中标注 @OssPresignUrl 的 String 字段,去重后批量调用 OssPresignUrlApi 一次性完成预签名,再回填到对应字段。 核心设计: - supports() 阶段通过泛型静态分析判断 VO 是否含注解字段, 无注解的接口零开销跳过(类似字典翻译注解思路) - 三级缓存:FIELD_CACHE / ALL_FIELDS_CACHE / HAS_PRESIGN_CACHE - 递归深度限制 MAX_SCAN_DEPTH=10 防止 StackOverflow - 仅扫描 com.viewsh.* 包,规避 Java 17 模块系统限制 - 异常静默降级,保留原始 URL Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Description
Languages
Java
79.9%
PLpgSQL
12.9%
TSQL
6.9%
Python
0.2%