Spring Data Rest和Hateoas
作者:互联网
我正在按照一个简单的教程来测试spring数据休息的行为,并使用@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-hateoas:0.8.0.RELEASE
spring-data-rest-webmv:2.0.0.RC1
spring-framework:4.0.0.RELEASE
弹簧数据JPA:1.4.3
解决方法:
对于SDR 2.0.0.RC1,请使用
spring-hateoas 0.9.0.RELEASE
spring-data-jpa 1.5.0.RC1
默认情况下,SDR将导出所有存储库,您无需对其进行注释.
标签:spring,spring-data-jpa,spring-data-rest,spring-hateoas 来源: https://codeday.me/bug/20190629/1323154.html