javax.validation.constraints不适用于Spring Web

这是我的控制者:

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

@Slf4j
@RestController
@RequestMapping("/auth-api")
public class AuthController {

    @PostMapping("/register")
    public RequestResultJSON<String> register(@RequestParam @NotEmpty String username,@RequestParam @NotEmpty String password,@RequestParam @NotEmpty  String passwordConfirm);

我在pom.xml文件中使用此依赖项

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.0.RELEASE</version>
</parent>

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

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

当我发出发布请求时,我希望不会执行方法,但是会在参数不正确的情况下发生

请求:http://localhost:8080/auth-api/register?username&password&passwordConfirm

然后使用username =“”,password =“”,passwordConfirm =“”

注册方法执行
iCMS 回答:javax.validation.constraints不适用于Spring Web

您需要在控制器上添加@Validated批注,以将其标记为有效。

@Slf4j
@Validated
@RestController
@RequestMapping("/auth-api")
public class AuthController {
  // your code
}

此外,您必须确保在类路径中有一个像hibernate-validator这样的验证器实现。

<dependency>
    <groupId>org.hibernate.validator</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>6.0.10.Final</version>
</dependency>

如果尚不存在,则可以在here

的pom.xml或任何其他合适的版本中添加以上依赖项
本文链接:https://www.f2er.com/2282678.html

大家都在问