Spring Webflux - pch8388/foo-board GitHub Wiki
Webflux λ°μ΄ν°κ° μμ κ²½μ°
- MVC μμ νΉμ λμμ μ‘°ννλ λ°, μμ κ²½μ°μλ Optional μ orElseThrow() μ κ°μ λ©μλλ₯Ό μ¬μ©νμ¬ μμΈλ₯Ό λ°μμν€λ λ°©λ²μ μ¬μ©νμμλ€
- Webflux μμ Mono λ Flux μ¬μ©μ λ°μ΄ν°κ° μλ€λ©΄ switchIfEmtpy λ₯Ό μ¬μ©ν μ μλ€
return this.postRepository.findById(postId)
.flatMap(post -> {
post.updateContent(updatePostDto.getUpdateContent());
return this.postRepository.save(post);
})
.map(ResponsePostDto::convertFromEntity)
.switchIfEmpty(Mono.error(new IllegalArgumentException("μλͺ»λ post id")));
- switchIfEmpty λ Mono(νΉμ Flux) κ° λΉμ΄μμ κ²½μ° λ체ν Mono λ₯Ό μ μν μ μκ² ν΄μ€λ€ => μ¦ Mono.error λ₯Ό λ°ννλλ‘ νλ©΄ μμΈμ²λ¦¬λ₯Ό ν μ μμ