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
}
}
在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
}
}