Spring Data Rest 2.0.0中的属性引用映射

时间:2013-10-09 21:41:47

标签: java spring spring-data spring-data-rest

问题。在Spring Data Rest 2.0.0中,假设我有一个实体类Application,并引用了一个拥有ApplicationGroup的实体。我希望能够使用路径

/applications/1/application-group

而不是camelCase默认值,即

/applications/1/applicationGroup

解决方案尝试1。在SDR 1.0中,我们可以使用应用于该属性的@RestResource来映射属性引用。 E.g。

public class Application {

    ...

    @RestResource(path = "application-group")
    public ApplicationGroup getApplicationGroup() { return applicationGroup; }
}

在SDR 2.0.0中,似乎@RestResource仅适用于存储库,而不适用于实体。将@RestResource附加到实体的属性无效。

解决方案尝试2. 我正在使用基于Java的配置,因此我的MyConfig扩展了RepositoryRestMvcConfiguration。我想也许我可以做点像

@Override
protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
    config.setResourceMappingForDomainType(Application.class)
        .addResourceMappingFor("applicationGroup")
        .setRel("applicationGroup")
        .setPath("application-group");
}

无论如何,这是如何在SDR 1.1中进行的(使用次要方法重命名)。但这也没有做任何事情。 (并且setResourceMappingForDomainType()addResourceMappingFor()setRel()setPath()方法都已弃用。)

感谢您提供的任何帮助。

0 个答案:

没有答案