spring-boot 2.0.0.M2
を使用してMongoDBリアクティブリポジトリを使用する方法を学習しようとしていますが、私が意図したとおりのことをしていないことを恐れています。Spring WebFlux:SpringデータMongoDBリアクティブリポジトリのnull値に対して例外を発行しますか?
これは自分のメールでUser
を見つけようとする私の方法の1つです。しかし、何もない場合、メソッドは例外をスローする必要があります。
@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