Spring Data Rest Validation для запроса с динамическим телом

Я новичок в технологиях Spring. Я выбираю Spring Data Rest для создания веб-сервера аннотаций. Согласно стандарту , аннотация должна быть представлена ??JSON-LD, что означает, что вы не можете привязать запрос к любому из объектов вашего домена, поскольку имена полей изменяемы. (В C # нормально привязывать его к динамическому ). Вам просто нужно преобразовать его в определенный тип, прежде чем перейти к db.

Прежде чем преобразовать его, я хочу проверить тело запроса. Я использую:

@Service
public class AnnotationValidator implements Validator{

    @Autowired
    private Processor ldProcessor;

    @Override
    public boolean supports(Class<?> aClass) {
        return AnnotationDocument.class.equals(aClass);
    }

    @Override
    public void validate(Object o, Errors errors) {
        Object processedAnnotation;
        try {
            processedAnnotation = ldProcessor.extractAnnotationModel(o);
        } catch (JsonLdError jsonLdError) {
            jsonLdError.printStackTrace();
        }
    }
}

В методе validate объект o не представляет тело запроса. В самом деле, он пытается передать тело запроса в AnnotationDocument , поэтому я не могу его проверить.

Наконец, мой вопрос: как я могу обработать тело чистого запроса и проверить его поля? Я решил проблему, создав @RepositoryRestController, но я думаю, что это должно быть проще.

java,spring,validation,spring-data-rest,json-ld,

1

Ответов: 0

Spring Data Rest Validation для запроса с динамическим телом

Я новичок в технологиях Spring. Я выбираю Spring Data Rest для создания веб-сервера аннотаций. Согласно стандарту , аннотация должна быть представлена ??JSON-LD, что означает, что вы не можете привязать запрос к любому из объектов вашего домена, поскольку имена полей изменяемы. (В C # нормально привязывать его к динамическому ). Вам просто нужно преобразовать его в определенный тип, прежде чем перейти к db.

Прежде чем преобразовать его, я хочу проверить тело запроса. Я использую:

@Service
public class AnnotationValidator implements Validator{

    @Autowired
    private Processor ldProcessor;

    @Override
    public boolean supports(Class<?> aClass) {
        return AnnotationDocument.class.equals(aClass);
    }

    @Override
    public void validate(Object o, Errors errors) {
        Object processedAnnotation;
        try {
            processedAnnotation = ldProcessor.extractAnnotationModel(o);
        } catch (JsonLdError jsonLdError) {
            jsonLdError.printStackTrace();
        }
    }
}

В методе validate объект o не представляет тело запроса. В самом деле, он пытается передать тело запроса в AnnotationDocument , поэтому я не могу его проверить.

Наконец, мой вопрос: как я могу обработать тело чистого запроса и проверить его поля? Я решил проблему, создав @RepositoryRestController, но я думаю, что это должно быть проще.

01Java, весна, проверка, весна-данных остальное, JSON-LD,
Похожие вопросы