Spring Data Rest and Hateoas

4

我正在按照一个简单的教程测试Spring Data Rest的行为,通过使用@RestResource注解对存储库进行标注。 我的情况非常简单: Jpa用户实体和UserRepository都被标注了@RestResource。

@RestResource(path="users", rel="users")
public interface UserRepository extends PagingAndSortingRepository<User, Long> {

List<User> findUserByUserName(@Param("userName")String userName);
}

我使用注释配置初始化并尝试注册RepositoryRestMvcConfiguration,以便可以注册UserRepository。 但是我的应用程序无法启动,并出现以下异常:
INFO  Registering annotated classes: [class org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration,class com.ncau.WebMvcConfiguration]
ERROR Context initialization failed 
java.lang.ClassCastException: [Lorg.springframework.hateoas.config.EnableHypermediaSupport$HypermediaType; cannot be cast to org.springframework.hateoas.config.EnableHypermediaSupport$HypermediaType
at org.springframework.hateoas.config.HypermediaSupportBeanDefinitionRegistrar.registerBeanDefinitions(HypermediaSupportBeanDefinitionRegistrar.java:90) ~[spring-hateoas-0.8.0.RELEASE.jar:na]

我使用以下版本的Spring框架及相关库: spring-hateoas: 0.8.0.RELEASE spring-data-rest-webmvc: 2.0.0.RC1 spring-framework: 4.0.0.RELEASE spring-data-jpa:1.4.3
1个回答

3

对于 SDR 2.0.0.RC1 版本,请使用

spring-hateoas 0.9.0.RELEASE
spring-data-jpa 1.5.0.RC1

SDR默认会导出所有仓库,您不需要注释它们。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接