我在 Java 中使用 Jersey 作为一个简单的网络服务器。我正在尝试处理 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 验证文档,但似乎很难理解。这可能是因为我对 Jersey 框架还是有些陌生。
那么如何设置查询参数验证呢?是否有更容易理解的资源/示例可以指导我使用?谢谢
最佳答案
作为@VA31 链接,如果您的 Jersey 足够最新,您可以像这样使用 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) {
}
关于java - 使用 Jersey 查询参数验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32484936/