gpt4 book ai didi

java - Jackson在序列化时忽略@Size

转载 作者:太空宇宙 更新时间:2023-11-04 10:40:28 25 4
gpt4 key购买 nike

我遇到一种情况,如果验证失败,我想将请求返回给用户,并附带相应的错误消息。我遇到的问题是我使用 Jackson 来处理 JSON 请求,验证失败也会导致 Jackson 无法序列化消息。

例如,如果我有这个对象:

 public class SomeRequest
{
@Size(min=1, max=10)
private String someField;
//getter and setter here
}

...当我去序列化时,该字段无效(假设它有 11 个字符)...

 ObjectMapper mapper = new ObjectMapper();
output = mapper.writeValueAsString(someRequestInstance);

...我收到 JsonProcessingException(验证对象时出错)。我已经确认有效的对象在序列化方面没有问题。 所以我的问题是这样:如何让 Jackson 在序列化时忽略 javax.validation 注释?

提前致谢!

最佳答案

默认情况下,Jackson 不会对 JSON 序列化调用 Bean 验证 (javax.validation.constraints)。要么默认行为被覆盖/定制,要么有任何类型的拦截器/钩子(Hook)可以做到这一点。

研究堆栈跟踪,以找出异常发生的确切位置并进行挖掘。

关于java - Jackson在序列化时忽略@Size,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49033623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com