我们应该将masterdata调用合并为一个调用吗?
问题描述:
我们有一个基于REST的应用程序和Angular 2客户端,在应用程序中,我们一直在登录一些6-7调用时碰到一些主数据api的国家/地区,协议等,这些都是好的(性能方面)打入一个电话?我们应该将masterdata调用合并为一个调用吗?
答
我更喜欢这样做,除非API端点不返回一些大数据。但在后端,我仍然为每个项目保留不同的功能。
这里是一个例子。对于仪表板,我必须填充3个下拉菜单(它们是过滤器)。所以我在一个/api/dashboard/filters
呼叫下结合了所有3个呼叫。在后端,我单独获取其中的每一个,但使用Promise.all
来确保并发性。它看起来像为波纹管
try {
let [businessUnits, departments, filter3] = await Promise.all([
Employee.getBusinessUnits(),
EmployeeStatus.getDepartments(),
Employee.getFilter3()
]);
res.json({ businessUnits, departments, filter3 });
} catch (e) {
res.json({ error: e });
}
但是如果你使用HTTP/2,我认为没有必要对这样的呼声
为什么反对票结合?这个问题有什么不相关的? –