【发布时间】:2016-11-10 07:16:19
【问题描述】:
我在 RESTful 端点中收到 JSON 响应。响应中的字段是可变的。特别是一些我不关心的领域。 由于某些要求,我必须对信封类使用 JSR 303 验证注释来处理响应。
响应的正文如下:
{
"parameter1":"val1",
"parameter2":"val2",
"optional_parameter":"valopt",
"not_important_list":["v1","v2","v3"]
}
我的课是这样的:
public class MessageEnvelope {
@NotNull
@NotBlank
public final String parameter1;
@NotNull
@NotBlank
public final String parameter2;
//the rest of the fields should be ignored
}
由于额外的字段,我收到映射错误。如何忽略我不关心的额外字段?
【问题讨论】:
-
映射错误听起来像是在 JSON -> 您正在使用的对象库中(例如 Jackson、GSON)。我认为这与验证无关。我最熟悉 Jackson,有一些直接的方法可以告诉它忽略 JSON 中无法识别的字段。
-
正确。这条评论帮助我弄清楚了这个问题。在我的例子中,反序列化是用 Jackson 完成的,我可以在类定义之前使用
@JsonIgnoreProperties(ignoreUnknown=true)注释忽略它们。
标签: java rest validation annotations jsr