目录

一、jakarta.validation是什么?

二、使用步骤

三、使用示例


一、jakarta.validation是什么?

        用来校验传递参数的一个工具。javax.validation 是Java Bean Validation API的包名,这个API允许开发者通过注解(@NotBlank,@NotNull)等注解,对参数进行校验。

        常见的一些注解,及其使用。

二、使用步骤

        在SpingBoot框架中可以直接引用依赖。

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

三、使用示例

       (1)该注释可以加在需要检测属性的上面。

         以下是一个登录接口的实现。

    @RequestMapping("/login")
    private UserLoginResponse login(@RequestBody @Validated UserLoginRequest userLoginRequest) {
        log.info("用户登录,username:{}", userLoginRequest.getUsername());
        UserLoginResponse userLoginResponse = userService.checkPassword(userLoginRequest);
        return userLoginResponse;
    }

        @validated就使在后面使用参数userLoginRequest要先进行jakarta.validation的参数检验。

@Data
public class UserLoginRequest {
    @NotNull(message = "用户名不能为空")
    @Length(min = 6, max = 20)
    private String username;
    @NotNull(message = "用户名不能为空")
    private String password;
}

        在这个代码中@NotNull就使username与password不能为空,如果为空就会根据后面的信息进行报错,而@length则规定了username的最大和最小长度。

        (2)该注释也可以直接加在参数前面

        以下接口是一个根据id获取信息的接口

    @RequestMapping("/getBlogDetail")
    public BlogResponse getBlogDetail(@NotNull Integer blogId){
        log.info("获取博客详情");
        BlogResponse BlogDetail = blogService.getBlogDetail(blogId);
        return BlogDetail;
    }

       该接口在传递给service前就对id进行了检测,如果blogId为null就会报错。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐