RESTful 网络服务 post 要求对必填字段进行验证

RESTful web service post request validation for required fields

在JavaRESTful服务请求参数验证中,如果请求有效载荷中不存在所需参数,则应抛出错误。

我尝试了以下方法但没有用:

public class OrderItemDetailsDTO {

    @XmlElement(required = true)
    private long orderItemId;

    // getters and setters...
}

我也尝试了 @NotNull@min(1),但其中 none 成功了。即使所需参数不存在,也会调用 URL 并执行方法,然后该方法抛出我不想要的异常。

有没有办法在执行该方法之前抛出错误,说所需的元素不存在?...

请看这个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
  }
}