我有以下。
@XmlRootElement
public class SomeObject {
private String requiredField;
@XmlElement(name="address", required=true)
public String getRequiredField() {
return requiredField;
}
public void setRequiredField(String requiredField) {
this.requiredField = requiredField;
}
}
但是,当相应的 Jersey 资源使用生成此对象所需的 JSON 时,它会成功创建该对象,无论是否带有按要求注释的字段。
使用 Jersey 和 JAXB,或者直接相关的技术,有没有办法确保 requiredField 的值出现在消费的 JSON 中?上面的示例缺少什么?
例子:
我想要的是拒绝如下调用,因为 JSON 正文不包含 requiredField 的值。
curl -i -X POST -H 'content-type:application/json' -d '{}' http://some/uri
相反,我希望这样的事情能够奏效。
curl -i -X POST -H 'content-type:application/json' -d '{"requiredField":"Hello, world!"}' http://some/uri