简体   繁体   English

JAX-RS 2.0验证

[英]JAX-RS 2.0 Validation

I am reading that the following validation should work with JAX-RS 2.0. 我正在阅读以下验证应该适用于JAX-RS 2.0。

    public Response getEvent(@PathParam("lagdays")
                               @Pattern(regexp = "[0-7]", message = "Lag Days must be between 0 and 7")
                               Integer lagDays,
                               @Context HttpServletResponse res) {

However, I get the message shown below when I run it 但是,当我运行它时,我收到如下所示的消息

HV000030: No validator could be found for type: java.lang.Integer.

How can I determine what version of JAX-RS that I am on? 如何确定我所使用的JAX-RS版本? I looked in my pom file and I do not see anything for JAX-RS. 我查看了我的pom文件,我没有看到JAX-RS的任何内容。 I am using Java 7. 我使用的是Java 7。

I am thinking that I am not using JAX-RS 2.0, or that I have a syntax error somewhere. 我在想我不是在使用JAX-RS 2.0,或者我在某处有语法错误。

    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>1.1.0.Final</version>
    </dependency>
    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.7</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.ext</groupId>
        <artifactId>jersey-bean-validation</artifactId>
        <version>2.4.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>5.0.1.Final</version>
    </dependency>
    <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>javax.annotation-api</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>7.0</version>
        <scope>provided</scope>
    </dependency>

As far as I am aware, @Pattern is only valid on CharSequence s ( link ). 据我所知, @Pattern仅在CharSequence链接 )上有效。 If you want your numbers to be in an range, use @Min and @Max 如果您希望您的数字在一个范围内,请使用@Min@Max

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM