Java 中 @Validated 注解的解释与使用

一、引言

在 Java 开发里,数据校验是很关键的一环。Spring 框架提供了 @Validated 注解,它能让开发者轻松实现对方法参数、返回值等的校验。本文会详细解释 @Validated 注解,同时介绍它的使用方法。

二、@Validated 注解概述

@Validated 是 Spring 框架对 JSR - 303(Bean Validation)规范的扩展,它是对 @Valid 注解的增强。@Validated 支持在类、方法和方法参数上使用,并且能支持分组校验。

三、使用前的准备

要使用 @Validated 注解,需在项目里添加相关依赖。如果你使用的是 Maven 项目,可在 pom.xml 里添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
</dependency>
四、基本使用示例

下面是一个简单的使用 @Validated 注解进行参数校验的示例。

首先,定义一个实体类 User,在类的属性上添加校验注解:

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

public class User {

    @NotNull(message = "ID 不能为空")
    private Long id;

    @NotBlank(message = "姓名不能为空")
    private String name;

    // 省略 getter 和 setter 方法
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

接着,创建一个控制器类 UserController,在方法参数上使用 @Validated 注解:

import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import javax.validation.Valid;

@RestController
@Validated
public class UserController {

    @PostMapping("/users")
    public String createUser(@Valid @RequestBody User user) {
        // 处理用户创建逻辑
        return "用户创建成功";
    }
}

在上述代码中:

  • @Validated 注解添加在 UserController 类上,表明该类需要进行参数校验。
  • @Valid 注解添加在 createUser 方法的 User 参数上,用于触发对 User 对象的校验。
五、总结

@Validated 注解为 Java 开发者提供了便捷、灵活的数据校验方式。通过简单的注解配置,就能实现对方法参数的校验。

希望本文能帮助你更好地理解和使用 @Validated 注解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值