创建端点以在微服务中获取多个记录

时间:2018-07-09 03:52:33

标签: java c# design-patterns microservices

当前,我们有一个API端点(称为供应商服务的微服务):foreach ($propName in $propNames) { $ohtAux[$propName] = $null },它将返回单个供应商信息。

在UI中,有一个屏幕可以显示不同产品的供应商列表。看起来像这样:

[pscustomobject] $ohtAux

要显示供应商的产品列表,我们需要一个for循环,该循环在每次迭代时调用终点。

我担心的是,从性能角度来看,这是低效的。为什么无法设计一个接受供应商编号列表并返回供应商信息列表的端点?

其他人已经说过,这不是微服务设计,我不确定为什么它不是适当的设计。有人知道这背后的原因吗?

3 个答案:

答案 0 :(得分:0)

您应该具有实现获取供应商列表的方法。像/suppliers/{supplierNumberList}之类的东西。

自定义服务API以来,进行这样的调用没有任何问题。

答案 1 :(得分:0)

我认为最好有一个端点,该端点返回所有供应商信息并指定一些可选的查询属性以限制呼叫者情况的结果。

在这种情况下,是一个属性(例如SupplierNames),它是String的数组。 /suppliers?supplierNames=s1,supplierNames=s2,...,然后返回在您的vendorNames查询属性中所有具有vendorName的所有供应商。

答案 2 :(得分:0)

从设计的角度来看,将v1/suppliers/{supplierList}作为您的服务(称为“供应商服务”的微服务)的端点没有什么害处。 为了提高性能,您可以进行其他优化,例如缓存等,或实施CQRS