泽西岛 - 验证不适用于查询参数
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) {
....
}
看起来 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) {
....
}