小编Pra*_*ick的帖子

Spring Boot 应用程序中 bean 验证失败时未得到正确的响应

我正在使用 spring boot 2.0.6、hibernate validator 6.0、validation-api 2.0 和 apache cxf。我在控制器方法中使用了 @Valid 注释,然后在 bean 属性中设置了 @NotNull、@Email 和正确的消息。然后我创建了一个 CustomExceptionHandler 来处理 MethodArgumentNotValidException。在邮递员测试它时,我的验证消息没有得到正确的响应。

用户控制器类

@Path("/user")
@Component
public class UserController {

@POST
@Path("/register")
@Consumes(MediaType.APPLICATION_JSON_VALUE)
@Produces(MediaType.APPLICATION_JSON_VALUE)
public Response registerUser(@Valid User user) {

    String status = "";

    Boolean isEmailIdExist = UserAuthService.checkUserByMailId(user.getEmail());
    Boolean isUserNameExist = UserAuthService.checkUserByUserName(user.getUserName());

    if(!isEmailIdExist) {
        if(!isUserNameExist) {
            status = UserAuthService.registerUser(user);
        }else {
            status = "Username already taken. Try with different name";
        }
    }else {
        status = "Email ID already exist";
    }

    return Response.ok(status).build();
}
} …
Run Code Online (Sandbox Code Playgroud)

java cxf hibernate-validator spring-boot

5
推荐指数
1
解决办法
2311
查看次数

标签 统计

cxf ×1

hibernate-validator ×1

java ×1

spring-boot ×1