我是Spring相关技术的新手。 我选择Spring Data Rest来实现Web注释服务器。 According to the standard,注释应由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();
}
}
}
在验证方法中,Object o不代表请求正文。实际上,它试图将请求体转换为 AnnotationDocument ,因此我无法对其进行验证。
最后,我的问题是: 如何处理纯请求主体并检查其字段? 我通过创建 @RepositoryRestController 解决了我的问题,但我认为它应该更简单。