Sea*_*arb 5 java rest spring spring-mvc
我正在 java 中使用 spring,我正在尝试为我的程序创建一个rest-API。我有 3 个实体要管理,所以我也有 3 个 DAO 类。我的问题是我有两种类型的用户(玩家和管理员)。他们每个人都可以对每个实体/表执行不同的操作。我的问题是实现这些要求的最佳方法是什么。我应该有 3 个服务和 3 个控制器(每个实体/表一个)还是应该创建 2 个服务和 2 个控制器(每种类型的用户一个)或者也许有比我建议的更好的方法?
编辑:另一件可能很重要的事情是我需要验证服务中的数据,验证过程检查表中的连接,因此在每个服务中,我还需要为不同实体提供 Dao 对象(例如检查是否新操作有一个发生该操作的元素。
听起来您可能会为不同类型的用户提供不同的功能。这就是管理员可以做玩家不能做的事情的一点。因此,将会有单独的特定于管理的服务方法,玩家使用的控制器不需要将管理服务连接到其中。
此外,交易的本质是它们通常不特定于某个实体,通常您想要在同一交易中处理不同的实体。如果是这样,那么为每个实体提供不同的服务可能没有意义。
在控制器级别,使用 Spring Security 强制谁可以调用哪个端点。我会根据共享足够多共同点的内容将控制器端点组织成类,但如何分解它并不是什么大问题。
对于服务,我将拥有一项为普通玩家实现逻辑的服务,以及一项实现管理员功能的服务。如果其中任何一个都有很多代码,那么我会考虑将其分解为单独的服务,并保留包含普通玩家与管理员方法的服务之间的区别。
| 归档时间: |
|
| 查看次数: |
3173 次 |
| 最近记录: |