我正試圖學習如何使用MongoDB反應性存儲庫使用spring-boot 2.0.0.M2
,但我擔心我沒有按照預期做事。Spring WebFlux:在Spring Data MongoDB反應性存儲庫中發出null值時發生異常?
這是我的方法之一,它試圖通過他們的電子郵件找到User
。但如果沒有,該方法應該拋出異常。
@Override
public Mono<User> findByEmail(String email) {
User user = repository.findByEmail(email).block();
if(user == null) {
throw new NotFoundException("No user account was found with email: " + email);
}
return Mono.just(user);
}
存儲庫擴展ReactiveCrudRepository<User, String>
,但我擔心,通過使用.block()
我阻止這種方法從被動。我是新來的反應式編程,我很難找到好的文檔。有人可以請指點我正確的方向嗎?
謝謝,我已經完全錯過了switchIfEmpty(...)方法。 – Andreas