RepositoryRestController

RepositoryRestController

我想知道使用注释 @RepositoryRestController@Repository 之间到底有什么区别,因为我已经尝试了它们,我发现完全没有区别!

我尝试了以下方法:

@RepositoryRestResource
public interface MovieRepository extends JpaRepository<Movie, Short> {
}


@Repository
public interface MovieRepository extends JpaRepository<Movie, Short> {
}

所以当我尝试: /movies 在这两种方法中我得到相同的结果。

如果我使用 @RepositoryRestController ,我应该使用 @RepositoryRestController ,还是我可以使用 @RestController ,它们之间有什么区别吗?

最佳答案

@Repository
@Repository 是一个原型(prototype)接口(interface),用于定义最初由领域驱动设计(Evans,2003)定义为“一种用于封装存储、检索和搜索行为的机制,它模拟对象集合”。

这个注解也作为 @Component 的特化,允许通过类路径扫描自动检测实现类。
@RepositoryRestResource
@RepositoryRestResource 告诉 Spring Data REST 将您的存储库公开为 REST 端点。检查文档的 relevant 部分。

如果您想利用 Spring Data REST 的设置、消息转换器、异常处理等为特定资源编写自定义处理程序,您可以使用 @RepositoryRestController (而不是标准的 Spring MVC @Controller @RestController 注释)。请参阅文档的 relevant 部分。

关于java - @RepositoryRestController 和 @Repository 注释有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51912951/

10-09 19:38