在Java RESTful服务请求参数验证中,如果请求有效负载中不存在所需的参数,则应抛出错误。
我已经尝试了以下但是它没有工作:
public class OrderItemDetailsDTO {
@XmlElement(required = true)
private long orderItemId;
// getters and setters...
}
我还尝试了@NotNull
,@min(1)
,但都没有奏效。即使所需的参数不存在,也会调用URL并执行方法,然后该方法抛出一个我不想要的异常。
有没有办法让错误被抛出,在转到方法之前说不存在所需的元素?...
答案 0 :(得分:1)
请查看此article。这里还有一个基于该文章的小代码片段。我希望这有帮助
public class OrderItemDetailsDTO {
@XmlElement
@Min(1)
private long orderItemId;
// getters and setters...
}
@Path("orders")
public class OrdersResource {
@POST
@Consumes({ "application/xml" })
public void place(@Valid OrderItemDetailsDTO order) {
// Jersey recognizes the @Valid annotation and
// returns 400 when the JavaBean is not valid
}
}