作为与Spring 5和Webflux一起使用的概念证明,我有两个微服务:
在第一个中,我管理:
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
中用它“填补一些空白”。