query parameter validation with Jersey
11,411
As @VA31 linked, you can use bean validation like this, if your jersey is latest enough.
@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) {
}
![Admin](/assets/logo_square_200-5d0d61d6853298bd2a4fe063103715b4daf2819fc21225efa21dfb93e61952ea.png)
Author by
Admin
Updated on July 24, 2022Comments
-
Admin almost 2 years
I'm using Jersey in Java for a simple web server. I'm trying to handle with url query parameters, like
/path?value1=X&value2=Y&value3=Z
I was able to extract the query value by using the @QueryParam annotation like
@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) { ... }
Now my problem is I need to validate the input. I'm mainly trying to make sure that value1, value2 and value3 follow a specific format. I also want to make sure that those parameters are not empty.
I checked out the Bean Validation documentation for Jersey, but it seemed hard to follow. This is probably because I'm still somewhat new to Jersey framework.
So how can I set up query parameter validations? Are there easier to follow resources/examples I could be directed to? Thanks
-
Pratik Singhal over 6 yearsWill jersey give a bad request, if the required validation turns out to be false ?
-
Jin Kwon over 6 years@PratikSinghal Yes it does!
400
will be responded with counterintuitive message.