卸载适用于异常出乎意料 我正在遇到一种奇怪的情况,如果在我的应用程序中调用端点时会抛出异常,则掩盖了例外细节。 这是出乎意料的行为,因为我只想...

问题描述 投票:0回答:1
sample json带有掩盖不应发生的掩码:

{ "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
java spring-boot jackson-databind jsonserializer
1个回答
0
投票
path
注释,但在您的代码中绝对没有任何地方是链接到MaskingSerialializer。您确实添加了this可以正常工作 - 只是.. do

这是实现目标的一种简单方法:使用@Masked

,沟渠
Masked(您根本不使用它),并且不注册序列化器,因为这会将其应用于
every
String.
如果您实际上想要注释,则您需要注册序列化器,但需要进行过滤操作:它需要检查是否试图序列化的字段是否具有注释。为此,您需要做一个
@JsonSerialize(using = MaskingSerializer.class)

,然后在in的inmp中写入

@JsonSerialize
方法a检查是否存在

@Masked

注释(通过您将收到的

ContextualSerializer
参数;它具有
createContextual
方法),然后在不存在的默认字符串序列化的情况下返回,或者如果不存在,或者是蒙版的serialialialialialialialials.ine。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.