我当前用于忽略JPA实体的已知属性的注释是:
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler","created","updated","createdBy","lastUpdatedBy"})
除了忽略这些类属性之外,我还想忽略服务器接收的任何未知属性。我知道通过以下注释忽略未知属性的单独方法:
@JsonIgnoreProperties(ignoreUnknown=true)
但不确定如何将此添加到我上面给出的当前注释中。我尝试了下面的多种方法但似乎没有工作,我找不到这个场景的在线示例。
文档上的任何示例或引导也会有所帮助。
答案 0 :(得分:25)
将ignoreUnknown
设置为true
,并在value
元素中定义要忽略的属性名称:
@JsonIgnoreProperties(ignoreUnknown = true,
value = {"hibernateLazyInitializer", "handler", "created"})
看看documentation中的这句话(突出显示是我的):
在最简单的形式中,注释如下所示:
@Entity
at符号字符(
@
)向编译器指示后面的内容是注释。在以下示例中,注释的名称为Override
:@Override void mySuperMethod() { ... }
注释可以包含元素,可以是命名或未命名,并且这些元素有值:
@Author(name = "Benjamin Franklin", date = "3/27/2003") class MyClass() { ... }
或
@SuppressWarnings(value = "unchecked") void myMethod() { ... }
如果只有一个名为
value
的元素,那么名称可以省略,如:@SuppressWarnings("unchecked") void myMethod() { ... }
要忽略未知属性,您还可以执行以下操作:
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);