Связь двух микросервисов для заполнения информации с помощью Spring WebFlux - PullRequest
0 голосов
/ 10 марта 2019

В качестве доказательства концепции работы с Spring 5 и Webflux у меня есть два микросервиса:

  1. Пицца-Сервис , с подробной информацией о пицце с ее ингредиентами.
  2. Order-Service , с информацией о том, что клиенты хотят есть (в данном случае пиццу).

В первом я управляю:

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

Во втором:

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

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

В Пицца-Сервис У меня есть следующий метод отдыха:

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

В Служба заказа У меня есть следующее:

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

Связь между обоими микросервисами работает нормально при использовании WebClient, и у меня нет проблем с передачей данных друг другу. Мой вопрос связан со следующим сценарием использования, который мне не удалось правильно разработать:

Что я хотел бы выяснить, так это то, что после получения требуемого OrderDto (и его OrderLinesDto с PizzaDto) этого легко достичь, для каждого PizzaDto, получаемого от Pizza -Сервис «полная информация» о нем и «заполнить некоторые пробелы» с ним в возвращенном OrderDto.

...