Я создаю валидатор Cutom, и у меня есть одна проблема. Когда я получаю сообщение с ошибкой, я вижу:
status": 400,
"error": "Bad Request",
"errors": [
{
"codes": [
"ValidHours.loginHoursRequest.startHour",
"ValidHours.startHour",
"ValidHours.java.lang.String",
"ValidHours"
],
"arguments": [
{
"codes": [
"loginHoursRequest.startHour",
"startHour"
],
"arguments": null,
"defaultMessage": "startHour",
"code": "startHour"
}
],
"defaultMessage": "Invalid",
"objectName": "loginHoursRequest",
"field": "startHour",
"rejectedValue": "1330",
"bindingFailure": false,
"code": "ValidHours"
}
],
"message": "Validation failed for object='loginHoursRequest'. Error count: 1"
Теперь я хотел бы получить только «defaultMessage», чтобы это выглядело примерно так:
status": 400,
"error": "Bad Request",
"errors": "defaultMessage": "Invalid"
Мой класс проверки:
@MustBeDocumented
@Constraint(validatedBy = [HoursValidation::class])
@Target(
AnnotationTarget.FIELD, AnnotationTarget.FUNCTION)
@Retention(AnnotationRetention.RUNTIME)
@ReportAsSingleViolation
annotation class ValidHours(
val message: String = "Invalid",
val groups: Array<KClass<out Any>> = [],
val payload: Array<KClass<out Payload>> = []
)