RESTful Web服务对必填字段的请求验证

问题描述 投票:1回答:1

在Java RESTful服务请求参数验证中,如果请求有效内容中不存在所需的参数,则应抛出错误。

我尝试过以下但是没有用:

public class OrderItemDetailsDTO {

    @XmlElement(required = true)
    private long orderItemId;

    // getters and setters...
}

我也试过@NotNull@min(1),但没有一个奏效。即使所需的参数不存在,也会调用URL并执行方法,然后该方法抛出一个我不想要的异常。

有什么方法可以抛出错误,在转到方法之前说不存在所需的元素?...

java rest jersey bean-validation
1个回答
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
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.