{
"timestamp": "2025-03-16T21:03:46.796+00:00",
"status": 404,
"error": "Not *****",
"message": "No s******************************************************",
"path": "/man***********************************"
}
i我期望仅在使用@masked注释时,就会应用掩码(仅在序列化字段级别上),但是我注意到如果API调用中存在错误,则根据此规则掩盖了响应后退,这很奇怪。为什么这会发生?
.addSerializer(String.class, new MaskingSerializer()));
告诉序列化器将序列化与提供的序列化器序列化。
String
,
error
和
message
path
注释,但在您的代码中绝对没有任何地方是链接到MaskingSerialializer。您确实添加了this可以正常工作 - 只是.. do
这是实现目标的一种简单方法:使用@Masked
,沟渠
Masked
(您根本不使用它),并且不注册序列化器,因为这会将其应用于everyString.如果您实际上想要注释,则您需要注册序列化器,但需要进行过滤操作:它需要检查是否试图序列化的字段是否具有注释。为此,您需要做一个
@JsonSerialize(using = MaskingSerializer.class)
,然后在in的inmp中写入
@JsonSerialize
方法a检查是否存在@Masked
注释(通过您将收到的
ContextualSerializer
参数;它具有createContextual
方法),然后在不存在的默认字符串序列化的情况下返回,或者如果不存在,或者是蒙版的serialialialialialialialials.ine。