【问题标题】:@NotBlank, @NonNull not validating for the string "name"@NotBlank,@NonNull 未验证字符串“名称”
【发布时间】:2021-07-18 00:44:46
【问题描述】:

我是 Spring-boot 的新手,正在学习验证约束,这里 @NotBlank@NonNull 似乎不起作用。我想要的是为给定的空值提供错误的请求。我在这里遗漏了什么吗?

模型类的sn-p如下:

Person.java

public class Person {
    private final UUID id;
    @NotBlank
    private final String name;

    public Person(@JsonProperty("id") UUID id,
                  @JsonProperty("name") String name){
        this.id = id;
        this.name = name;

    }

控制器类如下:

PersonController.java

@PostMapping
    public void addPerson(@Valid @NonNull @RequestBody Person person) {
        personService.addPerson(person);
    }

pom.xml

<dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>2.0.1.Final</version>
</dependency>

【问题讨论】:

  • NotBlank 的全称是什么?另一个的 Bean Validation 名称是 Nonnull,因此您至少涉及一个非标准注释。
  • 另外请提供有关您已发送请求的信息。

标签: java spring-boot validation


【解决方案1】:

原来问题出在 pom.xml 文件中。

关于验证部分:Validation Starter 依赖不再包含在 web starter 依赖中(来源:[check][1])

在创建 Spring Boot 配置时选择它或在 pom.xml 中添加:

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

[1]:import javax.validation.constraints.NotEmpty; not working)

【讨论】:

    猜你喜欢
    • 2011-03-16
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    • 1970-01-01
    • 2016-07-22
    • 2014-05-08
    相关资源
    最近更新 更多