Spring 引导微服务 - API 的设计通过传递 ID 以列表形式获取响应

Spring Boot Microservices - Design of API to get the response as a List by passing Ids

我正在使用 Spring Boot 和 Spring Cloud for Microservices architecture 并使用 API Gateway、Distributed Config、Zipkin 等各种东西+ Sleuth、Cloud 和 12 因素方法,其中我们的单个数据库服务器具有相同的模式,但表是私有的。

现在我希望拥有以下内容 - 注意 - 响应对象是嵌套的并按层次结构提供数据。

  1. 可否请下游系统开发API一次性接受CustomerId列表并给出响应?
  2. 或者我们可以简单地多次调用相同的 API 并提供单个 CustomerId 并获得响应吗?

请建议设置复杂的响应集和简单的响应集。考虑到性能和微服务,什么会更好。

我会选择选项 1。这可能 RESTful 但性能更高,尤其是当 CustomerId 的列表很大时。遵循标准肯定是好的,但有时用例需要我们稍微改变标准以便系统有用。

使用选项 2。与获取数据的实际用例相比,您很可能会在 HTTP 连接“跳舞”上“浪费”更多的时间。想象一下,如果您需要从 50 CustomerIds.

检索数据,则必须调用 50 次相同的下游服务