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

当前,我们有一个API端点(称为供应商服务的微服务),如下所示:/suppliers/{supplierNumber},它将返回单个供应商信息。

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

product1 -> supplier1
product2 -> supplier2
product3 -> supplier3

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

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

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


慕丝7291255
浏览 150回答 3
3回答

慕尼黑5688855

我认为最好有一个端点,该端点返回所有供应商信息并指定一些可选的查询属性以限制呼叫者情况的结果。在这种情况下,像SupplierNames这样的属性是一个String数组。/suppliers?supplierNames=s1,supplierNames=s2,...并返回在vendorNames查询属性中具有SupplierName的所有供应商。

jeck猫

您应该有一个用于获取供应商列表的实现。有点像/suppliers/{supplierNumberList}。由于您为服务定义了API,因此进行这样的调用是没有错的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java