Я изучаю WebFlux. Wiki говорит, что реактивное программирование это:
Например, в параметрах императивного программирования a:=b+c будет означать, что a присваивается результат b+c в в момент вычисления выражения и позже значения b и/или c могут быть изменены не влияет на значение < сильный>а.
Однако в реактивном программировании значение a автоматически обновляется всякий раз, когда значения b и/или c сдача; программа не должна повторно выполнять предложение a:=b+c, чтобы определить присвоенное в настоящее время значение a.
В порядке. При воспроизведении пример вроде:
@RestController
public class PersonController {
private final PersonRepository repository;
public PersonController(PersonRepository repository) {
this.repository = repository;
}
@PostMapping("/person")
Mono<Void> create(@RequestBody Publisher<Person> personStream) {
return this.repository.save(personStream).then();
}
@GetMapping("/person")
Flux<Person> list() {
return this.repository.findAll();
}
@GetMapping("/person/{id}")
Mono<Person> findById(@PathVariable String id) {
return this.repository.findOne(id);
}
}
- Размещаю 2 человека. (на хромированной странице 1)
- Затем получить список всех лиц (на хромированной странице 2)
- Затем добавьте еще одного человека (на хромированной странице 3)
Затем я возвращаюсь на страницу 2 (без обновления), я не вижу обновленного списка лиц, не так ли?
Кроме того, как здесь должны работать операции UPDATE/DELETE?