首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring Boot @Valid不显示来自@NotBlank的消息

Spring Boot是一个开源的Java框架,用于快速构建基于Spring的应用程序。@Valid是Spring Boot中的一个注解,用于验证请求参数的有效性。@NotBlank是javax.validation.constraints包中的一个注解,用于验证字符串参数不能为空。

当使用@Valid注解时,如果参数验证失败,Spring Boot会自动返回一个默认的错误消息。但是,默认的错误消息可能不够清晰或者不符合需求。为了显示来自@NotBlank注解的自定义消息,可以通过以下步骤实现:

  1. 在实体类中,给需要验证的参数添加@NotBlank注解,并设置自定义的错误消息,例如:
代码语言:txt
复制
public class User {
    @NotBlank(message = "用户名不能为空")
    private String username;
    // 其他属性和方法
}
  1. 在控制器中,使用@Valid注解对参数进行验证,并通过BindingResult对象获取验证结果,例如:
代码语言:txt
复制
@RestController
public class UserController {
    @PostMapping("/users")
    public ResponseEntity<String> createUser(@Valid @RequestBody User user, BindingResult result) {
        if (result.hasErrors()) {
            // 处理验证失败的逻辑,例如返回错误信息
            return ResponseEntity.badRequest().body(result.getAllErrors().get(0).getDefaultMessage());
        }
        // 处理验证成功的逻辑
        return ResponseEntity.ok("用户创建成功");
    }
}

在上述代码中,如果用户名为空,将返回自定义的错误消息"用户名不能为空"。

Spring Boot提供了丰富的验证注解和错误处理机制,可以根据具体需求进行灵活配置。对于云计算领域的应用,可以使用Spring Boot快速构建可靠的、高性能的云原生应用程序。腾讯云提供了一系列与Spring Boot兼容的云服务产品,例如云服务器、云数据库、云存储等,可以根据具体需求选择相应的产品进行部署和管理。

更多关于Spring Boot的信息和腾讯云相关产品介绍,请参考以下链接:

  • Spring Boot官方网站:https://spring.io/projects/spring-boot
  • 腾讯云云服务器:https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库:https://cloud.tencent.com/product/cdb
  • 腾讯云云存储:https://cloud.tencent.com/product/cos
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring】SpringBoot10个参数验证技巧

5 将 i18n 用于错误消息 如果你应用程序支持多种语言,则必须使用国际化 (i18n) 以用户首选语言显示错误消息。...以下是在 Spring Boot 应用程序中使用 i18n 处理错误消息示例 首先,在资源目录下创建一个包含默认错误消息 messages.properties 文件 messages.properties...“Accept-Language”标头以用户首选语言显示。...6 使用分组验证 验证组是 Spring Boot 验证框架一个强大功能,允许您根据其他输入值或应用程序状态应用条件验证规则。...Spring Boot 提供了一套工具和库来简化验证逻辑并使其更易于维护。通过遵循本文中讨论最佳实践,您可以确保您验证组件有效并提供出色用户体验。

61240

SpringBoot整合JSR303实现参数校验

前言 不知不觉Spring Boot专栏文章已经写到第十四章了,无论写好与不好,作者都在尽力写详细,写与其它文章不同,每一章都不是浅尝辄止。如果前面的文章没有看过朋友,点击这里前往。...今天介绍一下 Spring Boot 如何优雅整合JSR-303进行参数校验,说到参数校验可能都用过,但是你真的会用吗?网上教程很多,大多是简单介绍。 什么是 JSR-303?...添加依赖 Spring Boot整合JSR-303只需要添加一个starter即可,如下: org.springframework.boot</groupId...此种方式还有一个优化方案:使用AOP,在Controller接口方法执行之前处理BindingResult消息提示,不过这种方案仍然推荐使用。...这个Validator可以用来自定义实现自己校验逻辑,有些大公司完全不用JSR-303提供@Valid注解,而是有一套自己实现,其实本质就是利用Validator这个接口实现。

3K22
  • Spring Boot消息事件机制 顶

    Spring Boot自带了消息机制,可以让我们在一个地方发布消息,多个地方同时接收消息并处理消息,当然这是在同一个JVM内存下进行,不同进程还需要使用MQ来实现。...我觉得该消息模式跟观察者模式有一定区别,观察者模式一般观察是一个对象内部属性发生变化时候使用。而该消息机制可以在任意地方使用。...EventListener public void onDemoEvent(DemoEvent demoEvent) { log.info("listener1通过注解接收到了publisher发送消息...:" + msg); } } 但是我们需要知道是,多个消息监听是同步执行,他们会发生阻塞,所以我们需要进行异步监听,实现异步监听只需要在方法上打上@Async标签,同时在Springboot...INFO 1756 --- [nio-8080-exec-1] com.guanjian.lanmda.event.DemoListener1 : listener1通过注解接收到了publisher发送消息

    55320

    Spring Boot参数校验-简单有效数据验证

    Spring Boot作为一个流行Java框架,提供了多种参数校验方式。 了不起将介绍Spring Boot中参数校验多种实现方式,并比较它们优缺点。...Spring Boot参数校验基本原理 在Spring Boot中,参数校验是通过JSR 303规范Bean Validation实现。...Spring Boot提供了多种内置校验注解,包括 @NotNull、@NotBlank、@NotEmpty、@Size、@Pattern和 @Valid等。 3.1....控制器中参数校验 在Spring Boot中,我们可以在控制器中使用参数校验来验证请求中参数。...如果校验失败,将会返回带有错误信息响应。 结论 了不起介绍了Spring Boot中参数校验多种实现方式,包括注解方式和自定义校验注解方式。

    41920

    【全网最全】JSR303参数校验与全局异常处理(从理论到实践别用if判断参数了)

    三、导入依赖 org.springframework.boot spring-boot-starter-validation...、@Valid区别 @Validated: Spring提供 支持分组校验 可以用在类型、方法和方法参数上。...但是不能用在成员属性(字段)上 由于无法加在成员属性(字段)上,所以无法单独完成级联校验,需要配合@Valid @Valid: JDK提供(标准JSR-303规范) 不支持分组校验 可以用在方法、构造函数...实体类添加一个新校验属性 ==注意==:我们上面做了分组,如果属性指定分组,则不会生效,现在我们部分属性校验已没有起作用,现在只有brandId和showStatus起作用。.../** * 显示状态[0-不显示;1-显示] */ @NotNull(groups = {AddGroup.class, EditGroup.class}) @ListValue(vals = {0,1

    81220
    领券