我应该抛出什么异常以返回与使用@Valid 时得到的相同的错误请求响应?

我正在通过 SpringValidatorAdapter 手动验证 bean,如下例所示:

Set<ConstraintViolation<CertificationDto>> violations = validator.validate(certificationDto,ValidationGroups.Update.class);
if (!violations.isEmpty()) {
    // FIXME Wrong exception,doesn't appear as usual validation response
    throw new ConstraintViolationException(violations);
}

我想保持错误响应的异构性,并且正在寻找类似的东西:

{
    "timestamp": "2021-03-20T18:28:57.343+00:00","status": 400,"error": "Bad Request","message": "Validation failed for object='certificationDto'. Error count: 1","errors": [
        {
            "codes": [
                "NotBlank.certificationDto.name","NotBlank.name","NotBlank.java.lang.String","NotBlank"
            ],"arguments": [
                {
                    "codes": [
                        "certificationDto.name","name"
                    ],"arguments": null,"defaultMessage": "name","code": "name"
                }
            ],"defaultMessage": "must not be blank","objectname": "certificationDto","field": "name","rejectedValue": null,"bindingFailure": false,"code": "NotBlank"
        }
    ],"path": "/certifications"
}

正确抛出的异常是什么?

aygxx 回答:我应该抛出什么异常以返回与使用@Valid 时得到的相同的错误请求响应?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/723213.html

大家都在问