springBoot获取@NotBlank,@NotNull注解的message信息

本文详细介绍了在SpringBoot中如何进行统一的异常处理,特别是在参数校验失败时,通过@NotBlank注解对UserEntity类的字段进行非空检查,并自定义错误消息。同时,展示了如何捕获BindException,解析并返回具体的错误信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

  springBoot后台验证接收的参数是否不合法时,会抛出一个BlndException异常,获取message的自定义信息并返回

验证

UserEntity类

@Data
@Entity
@Table(name = "t_user")
@ApiModel
public class UserEntity
{
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

    @NotBlank(message = "username不能为空")
    @Column(name = "name")
    private String username;

    @NotBlank(message = "password不能为空")
    private String password;
}

 统一异常处理

@ResponseBody
    @ExceptionHandler(BindException.class)
    public ResponseJsonResult exceptionHandler(BindException e)
    {
        e.printStackTrace();
        ResponseJsonResult responseJsonResult = new ResponseJsonResult();
        responseJsonResult.setState(Constant.ERROR);
        responseJsonResult.setErrorCode(ExceptionCode.IV00007);
        responseJsonResult.setMessage(e.getBindingResult().getFieldError().getDefaultMessage());
        return responseJsonResult;
    }
e.getBindingResult().getFieldError().getDefaultMessage()就是获取默认的异常信息

 

转载于:https://www.cnblogs.com/dslx/p/11316563.html

<think>首先,用户的问题是:“@NotBlank注解什么意思”,这是关于Java中的一个注解。我需要用中文回答这个问题。 @NotBlank注解是来自Hibernate Validator或JakartaBean Validation的一个注解,用于验证字符串字段不为空(notnull)且至少包含一个非空白字符。它通常用于表单验证或实体类中。关键点:-它检查字符串不是null,并且trim()后长度大于0。 -与@NotNull不同,@NotNull只检查不为null,而@NotBlank还检查非空字符串。回答结构: 1.解释@NotBlank的含义。2.给出一个简单的代码示例。3.确保回答是中文的。 然后,根据规则,在回答结束后,我必须提出3-5个相关问题。第一行必须是“§§相关问题§§”,然后列出问题,用数字编号。相关问题应该基于用户的问题和我的回答。可能的主题:-其他验证注解,如@NotNull,@NotEmpty。-如何使用这些注解。-与SpringBoot集成。 -常见错误或问题。 列出3-5个相关问题:1.@NotBlank和@NotEmpty有什么区别?2.如何在Spring Boot中使用@NotBlank注解进行表单验证?3.如果@NotBlank验证失败,如何自定义错误消息?4.@NotBlank注解可以用于哪些数据类型? 5.在Jakarta BeanValidation中,@NotBlank是标准注解吗? 确保格式:最后一部分必须以“§§相关问题§§”开头,然后直接列出问题,不换行分散。完整回答结构: -解释@NotBlank。-代码示例(可选,但用户示例中有代码,所以可以加)。 -然后“§§相关问题§§”和相关问题。代码示例:用Java展示一个类使用@NotBlank。 例如: ```javapublicclass User{@NotBlank(message= "用户名不能为空")privateString username;// getterand setter} ```现在,构建回答。</think>@NotBlank注解Java中用于验证字符串字段的一个常用注解,通常来自Jakarta Bean Validation(如Hibernate Validator实现)。它确保被注解的字段不为null,且字符串值在去除首尾空白字符(trim)后长度大于0,即不能是空字符串或仅包含空白字符的字符串。常用于表单验证、DTO或实体类中,以强制输入的有效性。例如,在Spring Boot应用中,结合@Valid注解使用,可以自动检查请求参数。 ```java import javax.validation.constraints.NotBlank; public class UserDto { @NotBlank(message = "用户名不能为空") // 验证用户名非空且非空白 private String username; // getter和setter方法 } ``` 在这个示例中,如果username字段为null、空字符串或仅包含空格,验证将失败,并返回指定的错误消息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值