@ControllerAdvice public class ResponseEncryptAdvisor extends Object implements org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<Object>
| 构造器和说明 |
|---|
ResponseEncryptAdvisor(Cipher cipher)
构造注入加密器
|
| 限定符和类型 | 方法和说明 |
|---|---|
Object |
beforeBodyWrite(Object body,
org.springframework.core.MethodParameter returnType,
org.springframework.http.MediaType selectedContentType,
Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> selectedConverterType,
org.springframework.http.server.ServerHttpRequest request,
org.springframework.http.server.ServerHttpResponse response)
响应体写出前执行加密逻辑
核心流程:1.校验响应类型 → 2.获取 @Encrypt 注解 → 3.解析响应数据 → 4.提取待加密字段 → 5.获取加密密钥 → 6.执行加密 → 7.合并加密结果 → 8.返回加密后数据
|
boolean |
supports(org.springframework.core.MethodParameter returnType,
Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> converterType)
判断当前响应是否需要执行加密逻辑
规则:1.方法上有 @Encrypt 注解 或 类上有 @Encrypt 注解;2.响应类型为 application/json
|
public ResponseEncryptAdvisor(Cipher cipher)
cipher - 加密器实例(由Spring容器注入,需确保Cipher已正确配置)public boolean supports(org.springframework.core.MethodParameter returnType,
Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> converterType)
supports 在接口中 org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<Object>public Object beforeBodyWrite(Object body, org.springframework.core.MethodParameter returnType, org.springframework.http.MediaType selectedContentType, Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> selectedConverterType, org.springframework.http.server.ServerHttpRequest request, org.springframework.http.server.ServerHttpResponse response)
beforeBodyWrite 在接口中 org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<Object>Copyright © 2025. All rights reserved.