如何检索x个违章次数?

问题描述 投票:0回答:1

我想收集x个违规次数,下面的代码片段对一个违规次数有效。我如何修改它来重复同样的过程来处理x次违章?CustomError 是由 of 2 String 值作为参考。

private static Validator validator = Validation.buildDefaultValidatorFactory().getValidator();

Set<ConstraintViolation<Request>> violations =
    validator.validate(Request);

CustomError customError =
    CustomError.of(
        violations.iterator().next().getPropertyPath().toString(),
        violations.iterator().next().getMessage());

List<CustomError> errors = Collections.singletonList(customError);
java spring-boot
1个回答
1
投票

我想你需要迭代所有的违规行为并创建自定义错误。

下面是代码示例。

...
    public static class Error {
        private final String field;
        private final String message;

        public Error(final String field, final String message) {
            this.field = field;
            this.message = message;
        }

        public String getField() {
            return field;
        }

        public String getMessage() {
            return message;
        }
    }

    public Collection<Error> validate(Request request) {
        var validator = Validation.buildDefaultValidatorFactory().getValidator();
        var violations = validator.validate(request);
        return violations
            .stream()
            .map(v -> new Error(v.getPropertyPath().toString(), v.getMessage()))
            .collect(Collectors.toList());
    }
...
© www.soinside.com 2019 - 2024. All rights reserved.