我有一个关于Spring REST和控制器的问题。我创建足球应用程序。我的应用程序在数据库中有俱乐部和球员。我有一个用于俱乐部的API RestController和用于球员的API RestController。在俱乐部的控制器中添加球员是一个好方法,或者我应该在球员的控制器中做这件事,或者这无关紧要?哪种方法更好?例如,在我的俱乐部控制器中,我有一些俱乐部的CRUD方法,我创建了一些方法来通过俱乐部id从俱乐部获取/向俱乐部添加球员,通过id为俱乐部获取/添加球员,等等。它是可以的,还是应该在球员的控制器中?一般来说,如何考虑这个控制器逻辑-如何分离应用程序的连接部分?
发布于 2015-04-08 05:50:56
您不应该直接从控制器访问数据库。控制器应该是您的表示层,这些crud方法应该绑定到服务使用的存储库。
@Controller -接受HTTP请求并开通服务
@Service -针对您的业务逻辑
@Repository -数据访问逻辑
因此,您应该使用@Controller将数据传递给@Service,它为您的@Respository CRUD操作提供了更高级别的抽象。
新增了spring reference以了解更多详细说明:
@存储库http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/stereotype/Repository.html
@服务http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/stereotype/Service.html
关于球员与俱乐部的关系:从不同的角度来看,多对一和一对多实际上是同一种关系,这两种方法在技术上都是正确的。决定哪一个对你来说更有语义。
https://stackoverflow.com/questions/29501841
复制相似问题