使用Spring WebFlux交流两个微服务以填充信息

时间:2019-03-10 10:52:17

标签: spring microservices spring-webflux

作为与Spring 5和Webflux一起使用的概念证明,我有两个微服务:

  1. Pizza-Service (比萨服务),以及有关比萨及其配料的详细信息。
  2. 订购服务,其中包含有关顾客想要吃的东西(在这种情况下为披萨)的信息。

在第一个中,我管理:

public class PizzaDto {
   private Set<IngredientDto> ingredients;  
   ...

第二个:

public class OrderDto {
   private Set<OrderLineDto> orderLines;
   ...

public class OrderLineDto {
   private PizzaDto;   // In this case without ingredients
   ...

Pizza服务中,我具有以下Rest方法:

@GetMapping("/{name}")
public Mono<ResponseEntity<PizzaDto>> findByName(@PathVariable String name)

订购服务中,我有以下内容:

@GetMapping("/{id}")
public Mono<ResponseEntity<OrderDto>> findById(@PathVariable Integer id)

使用WebClient可以在两个微服务之间很好地进行通信,并且相互之间没有问题。我的问题与我尚未实现正确开发的以下用例有关:

我想弄清楚的是,在获得所需的OrderDto(及其OrderLinesDto及其PizzaDto)之后,对于每个{{1} },从 Pizza-Service 获取有关它的“完整信息”,并在返回的PizzaDto中用它“填补一些空白”。

0 个答案:

没有答案