【发布时间】:2019-04-26 05:36:38
【问题描述】:
我们有 2 个系统 A 和 B。系统 A 正在执行一些手动审核任务,其中一个完成了此审核任务,系统 A 应该与系统 B 共享审核结果结果。系统 B 不应该轮询系统 A用于审核结果。
在为这个问题设计 API 时,我们构建了一个如下所示的资源
POST /review-xyz-result/
{
"var1": "string",
"var2": "string",
"var3": "string",
"reviewDecision": "X, Y, Z"
}
当结果为 Y 时,将填充 var 1 、 var2 和 var 3。对于决策 X 和 Z ,变量将为空。审查结果只能有一个决策,即。 X 或 Y 或 Z。
对此类资源建模的最佳方法是什么?
我们的开发小组中的一些意见认为,对于每个决策,让我们将单个 API 分成 3 个端点。不知何故,我觉得这不是正确的做法。系统 A 需要将逻辑放在其末尾以调用正确的端点并填充因变量。
所以我的第一个问题是,资源可以具有可选属性吗?
对于正在考虑的案例,为什么单独的端点会有意义?
【问题讨论】:
-
你想从A调用B的API吗?因此,您要为系统 B 提供一个带有可选参数的 URL?
-
是的。系统 B 将为系统 A 发布一个 post 端点。
标签: java json rest post http-post