仅当填写了所有字段时,java才使用JAXB将JSON转换为对象
我正在用Jersey构建一个RESTful web服务。我使用JAXB将传入的JSON对象转换为Java对象。不幸的是,这种方法允许创建没有所有必填字段的Java对象。如果我有3个必填字段,但JSON只包含1个字段,我希望看到抛出异常
资源类别:@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Resource {
private int field1;
private String field2;
private String field3;
public Resource() {
}
...
}
休息班:
@Path("resource")
public class ResourceREST {
...
@POST
@Consumes(APPLICATION_JSON)
@Produces(TEXT_PLAIN)
public String createResource(Resource resource) {
...
}
...
}
有没有可能用JAXB实现这一点?如果没有,如何实现此输入验证
提前谢谢
# 1 楼答案
在生成
JSON
之后,我经历了相同的场景,并应用了一些逻辑来解决这个问题在一个列表中添加那些你认为必须的
Field Names
将已生成的
JSON
发送到验证方法你的验证方法应该是这样的