Я новичок в технологиях 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,
Я новичок в технологиях 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,