有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Jersey验证不适用于查询参数

看起来对查询参数的验证不起作用,但对正文的验证起作用(使用@POST)

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

波姆。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>

共 (1) 个答案

  1. # 1 楼答案

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

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