java - 我是否必须拆分具有多个端点的控制器,这些端点代表更复杂对象的组件的 CRUD 操作?
问题描述
我目前有一个由 10 个不同对象组成的对象(我们称之为 ComplexObj),我需要创建一个或多个 REST 控制器来处理 ComplexObj 及其 10 个不同对象的 CRUD 操作。
我一直在研究,人们谈论的是如果他们有完全不同的业务逻辑,就将他们拆分。在这种情况下,ComplexObj 的对象的业务逻辑略有不同,但由于它们是 10,我觉得创建 10(每个对象的控制器)+1(ComplexObj 的控制器)会太多。
public class ComplexObj {
private ObjA objA;
private ObjB objB;
private ObjC objC;
private ObjD objD;
private ObjE objE;
private ObjF objF;
private ObjG objG;
private ObjH objH;
private ObjI objI;
}
我的用例之一是,如果在命中端点保存 ObjA 时 ComplexObj 不存在,则将创建它。
解决方案
我想这就是创建不同微服务的想法出现的地方。这取决于如何从业务隔离的角度看待 ComplexObj、ObjA、ObjB...。
因此,如果 ObjA 和 ObjB 在业务上是两个不同的不相关资源,则必须创建两个具有不同端点的不同微服务。
现在,假设 ComplexObj 是一个由 ObjA 和 ObjB 组成的资源,它应该调用 ObjA 和 ObjB 的下游微服务来执行 CRUD 操作。
推荐阅读
- facebook - 使用 React Native 和 Firebase 处理具有不同凭证的帐户存在问题
- c# - 从 eml 文件中提取 msg 附件
- css - 根据类名动态更改变量
- azure-active-directory - MS Graph OneDrive 订阅的应用权限
- java - 如何在 Android 设备上安装证书链
- sh - 第一次调用成功后,多次调用 plistbuddy 的脚本失败
- bash - 使用带有 yt-download 和 ffmpeg 的 bash 脚本来提取或隐藏,具体取决于格式
- jquery - 在php变量中获取变量jquery
- hadoop - 实时节点显示一个节点,而数据节点在 Hadoop 2.9 中启动
- c# - C# SQL,获取受 UPDATE 影响的行