我在Java中使用Jersey来获得一个简单的Web服务器。我正在尝试处理url查询参数,比如
/path?value1=X&value2=Y&value3=Z
我能够通过使用@QueryParam注释来提取查询值
@GET
@Produces(MediaType.APPLICATION_XML)
@Path("/path")
public String getUpdate(@QueryParam("All") List<String> allParam,
@QueryParam(value = "value1") String value1,
@QueryParam(value = "value2") String value2,
@QueryParam(value = "value3") String value3) {
...
}
现在我的问题是我需要验证输入。我主要是为了确保value1,value2和value3遵循特定的格式。我还想确保这些参数不为空。
我查看了Jersey的Bean Validation文档,但似乎很难遵循。这可能是因为我对Jersey框架还有些新意。
那么如何设置查询参数验证呢?是否更容易关注我可能被引导到的资源/示例?谢谢
当@ VA31链接时,如果您的球衣足够新,您可以像这样使用bean验证。
@GET
@Produces(MediaType.APPLICATION_XML)
@Path("/path")
public Response getUpdate(
@QueryParam("value1")
@NotNull
@Size(min = 1, max = 255)
@Pattern(regexp = "\\d+")
String value1,
@QueryParam("value2")
@Min(52)
@Max(53)
int value2,
@QueryParam("value3")
@NotNull
Integer value3) {
}