Spring Data Rest 和 Hateoas

标签 spring spring-data-jpa spring-data-rest spring-hateoas

我正在遵循一个简单的教程来测试 spring 数据休息的行为,并使用 @RestResource 注释来注释存储库。
我有非常简单的场景:
使用@RestResource 注释的 Jpa 用户实体和 UserRepository

@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 框架:4.0.0.RELEASE
spring-data-jpa:1.4.3

最佳答案

对于 SDR 2.0.0.RC1,请使用

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

默认情况下,SDR 将导出所有存储库,您无需对其进行注释。

关于Spring Data Rest 和 Hateoas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21666332/

相关文章:

java - Spring MVC Hello World

java - HQL检查对象是否包含请求集合的所有元素

java - 使用 Spring Command Line Runner 初始化数据

使用内连接 hibernate 单向@OneToOne

java - Spring Data REST 在哪里构建异常 JSON 回复?

spring - 在 applicationContext 上执行 SPeL

java - 设计带有2个外键的spring data jpa注释类

java - Maven 构建花费的时间太长

java - 为什么这个 Spring Boot Web 应用程序不需要 @Repository?

spring-data-rest - Spring Data Rest 指定默认顺序