Мой RestController имеет объект запроса (DTO), и мне нужно преобразовать его в мой объект модели (Документ MongoDB), но как правильно выполнить это преобразование с помощью Spring Webflux, а не с блоком ввода-вывода?
Я подумал кое-что:
Мой DTO как издатель (Mono), а затем я перешел на свою модель и вызвал свой бизнес уровень:
@PostMapping("/persons")
public Mono<ResponseEntity<Void>> save(@RequestBody Mono<PersonRequest> request) {
return request.map(r -> Person.builder()
.id(r.getId())
.name(r.getName())
.build())
.flatMap(personService::save)
.map(p -> ResponseEntity.ok().build());
}
Или мой DTO не нуженбыть издателем?
@PostMapping("/persons")
public Mono<ResponseEntity<Void>> save(@RequestBody PersonRequest request) {
return personService.save(Person.builder()
.id(request.getId())
.name(request.getName())
.build())
.map(p -> ResponseEntity.ok().build());
}