美文网首页
一味追求高版本jar包,springboot+hibernate

一味追求高版本jar包,springboot+hibernate

作者: 技术指北 | 来源:发表于2021-08-26 23:00 被阅读0次

简述

开发过restful风格接口的道友,一看到hibernate validator可能都知道这是用来干啥的了,如果还不知道,请看下图,马上就明白。。。


检验参数

1、新建一个spring boot项目,使用2.5.2版本;

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

2、导入validator的jar包

在maven仓库(
https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator)搜索一看,最新版本已经7.0.1.Final了,肯定安排上啊。

validator
        <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>7.0.1.Final</version>
        </dependency>

3、新建一个测试接口类HelloController.java

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;

@RestController
@Valid
public class HelloController {

    @GetMapping(value = "hello")
    public void get(@NotBlank(message = "username不能为空") @RequestParam String username){
        System.out.println("username:" +username);
    }
}

4、启动项目,测试接口及其参数校验

启动项目

奇怪问题来了,

居然访问成功且不报错

@Valid不行,那就用@Validated试一下

还是没检验到

此时,我把版本降低一点,来看看奇迹。

        <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>6.2.0.Final</version>
        </dependency>

嗯嗯,此时就可以正常检验参数了:

正常检验 输入参数值

虽说maven帮我们解决了蛮多的jar问题,jar版本问题还蛮考验开发经验以及思考意识的。

在此记录一文,以作铭记。

相关文章

网友评论

      本文标题:一味追求高版本jar包,springboot+hibernate

      本文链接:https://www.haomeiwen.com/subject/qgdpiltx.html