泽西岛 - 验证不适用于查询参数

Jersey - Validation is not working for Query Param

看起来 Query Param 的验证无效,但 Body 的验证有效(使用@POST)

@GET
@Path("{id}")
public Foo get(@PathParam("id") Integer id,
               @NotNull @QueryParam("param1") Integer param1) {
....
}

pom.xml

<dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet</artifactId>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.ext</groupId>
        <artifactId>jersey-bean-validation</artifactId>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-json-jackson</artifactId>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-sse</artifactId>
    </dependency>

要触发验证,请将 @Valid 注释添加到参数中。

@GET
@Path("{id}")
public Foo get(@PathParam("id") Integer id,
               @Valid @NotNull @QueryParam("param1") Integer param1) {
....
}