В ProjectReactor или Reactive Streams, Ничего не происходит до тех пор, пока вы не подпишитесь ().
Поток данных реактивных потоков не произойдет, если только кто-то не подпишется на него, но я вижу для всех REST APIнапример, находки, сохранения и вставки не вызывают явную подписку, но данные передаются между производителем и подписчиками.
@RestController
class PersonController {
private final PersonRepository repository;
public PersonController(PersonRepository repository) {
this.repository = repository;
}
@GetMapping("/all")
public Flux<Person> index() {
return repository.findAll();
}
@GetMapping("/people")
Flux<String> namesByLastname(@RequestParam Mono<String> lastname) {
Flux<Person> result = repository.findByLastname(lastname);
return result.map(it -> it.getFullName());
}
@PostMapping("/people")
Flux<People> AddPeople(@RequestBody Flux<Person> people) {
return repository.saveAll(people);
}
}
почему нам не нужно вызывать подписку для конечных точек REST для запуска данныхтечь в проект реактора?
Как конечные точки REST (HTTP-запросы) автоматически подписываются на Reactive Streams для потока данных, когда я звоню из браузера?
я что-то здесь упускаю?