将 属性 添加到 spring 数据 REST 中的实体

Add property to entity in spring data REST

我正在试用 Spring Data REST 中的 ResourceProcessor 接口。我认为我的处理器从未被调用过。也没有错误信息。

这是我的处理器(在 Groovy 中):

@Autowired
PersonService personService

@Override
public Resource<Person> process(Resource<Person> resource) {
    resource.content.isAdult = personService.isAdult(resource.content)

    // sanity check: does this link get added?? (NOPE!!)
    resource.add(new Link("http://localhost:8080/people", "added-link"))

    log.info "@@ resource.content.isAdult ==> ${resource.content}"

    return resource
}

任何帮助将不胜感激!!您可以在 GitHub 中查看整个项目:https://github.com/txiasummer/spring-data-rest-examples

终于成功了!事实证明这完全是微不足道的事情,我不敢相信我错过了它。我有一个 PersonProcessor classes,它实现了 Spring 的本地 ResourceProcessor 接口。但是 PersonProcessor 仍然只是一个基本的 class 必须由 Spring 注入!!我想我把它与 @Projection 混淆了,它会自动识别并且不需要显式注入。

我将 @ComponentScan 添加到我的 Application.groovy,现在一切正常。或者,您也可以手动将 PersonProcessor class 及其服务 PersonService class 定义为 Application.groovy 中的 @Bean。同样,您可以在这里看到整个项目:https://github.com/txiasummer/spring-data-rest-examples