我在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框架还有些新意。
那么如何设置查询参数验证呢?是否更容易关注我可能被引导到的资源/示例?感谢
答案 0 :(得分:9)
如果@ 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) {
}