Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring @弹簧静止控制器中的一元关系_Spring_Rest_Spring Mvc_Spring Data Rest - Fatal编程技术网

Spring @弹簧静止控制器中的一元关系

Spring @弹簧静止控制器中的一元关系,spring,rest,spring-mvc,spring-data-rest,Spring,Rest,Spring Mvc,Spring Data Rest,我有一个使用SpringDataREST的SpringBoot应用程序。我有一个域实体Post,它与域实体Comment有@OneToMany关系。对于这两个实体,我创建了一个存储库接口 到目前为止,我有一个名为PostController的控制器,它处理两个实体。通过http://localhost:8080/posts/1/我得到了Id为1的帖子。此外,通过http://localhost:8080/posts/1/comments我收到所有Id为1的帖子评论 我想知道这是否是两个实体都使用

我有一个使用SpringDataREST的SpringBoot应用程序。我有一个域实体
Post
,它与域实体
Comment
有@OneToMany关系。对于这两个实体,我创建了一个
存储库
接口

到目前为止,我有一个名为
PostController
的控制器,它处理两个实体。通过
http://localhost:8080/posts/1/
我得到了Id为1的帖子。此外,通过
http://localhost:8080/posts/1/comments
我收到所有Id为1的帖子评论


我想知道这是否是两个实体都使用单一控制器的正确方法,还是应该为每个
Post
Comments
实体都编写一个控制器

在一个类似的项目中,我的老板告诉我对这两个相关的实体只使用一个
存储库
接口。我将只使用
Post
实体相关的
存储库,而不是
注释
一个,然后使用映射间接填充
注释
实体


关于控制器,我认为没关系,但我可能错了。

使用两个存储库是正确的方法,因为您的数据库将两个实体存储在不同的表中。也许将来某个时候您需要搜索注释,第二个存储库将对此提供帮助

关于REST,您的url看起来不错。所以,如果你不需要一个新的端点,那么一个单一的控制器对我来说听起来不错

如果我有这样一个端点,我会添加第二个控制器:


http://localhost:8080/comments

如果您使用spring数据rest,则会自动为您创建该数据。你试过了吗?为什么你要用自己的控制器来处理SpringDataREST?你知道SDR会自动为你创建“控制器”,对吗?