Spring Webflux + MongoDBで簡単なプロジェクトから始めます。Spring webflux、mongodb:ドキュメントがデータベースに保存されていません
私はこのコードでは、データベースにオブジェクトのユーザーを保存し、なぜ難しいの理解があります。
@Controller
@RequestMapping("/users")
public class UserController {
@RequestMapping(value="/signup", method = RequestMethod.POST)
@ResponseBody Mono<User> save(@ModelAttribute(value="user") User user){
return reactiveUserRepository.save(user);
}
}
}
を、私はこれで上記の機能を交換するとき:
@RequestMapping(value="/signup", method = RequestMethod.POST)
String save(@ModelAttribute(value="user") User user){
reactiveUserRepository.save(user);
return "login";
}
文書は、すべてで保存されていません。最初のケースで
、ロギングは言う:
2017-11-11 14:20:29.654 DEBUG 2828 --- [ctor-http-nio-2] o.s.d.m.core.ReactiveMongoTemplate : Inserting Document containing fields: [_class] in collection: users
及び第二の例ではまったくのロギング。
ReactiveUserRepositoryはこのようReactiveCrudRepositoryを拡張する空のインターフェースです:
@Repository
public interface ReactiveUserRepository extends ReactiveCrudRepository<User, Long> {
}
私は私が代わりにReactiveCrudRepositoryのMongoRepositoryを使用することができ、それが動作することを、理解しています。問題は、なぜ文書をDBに保存するのがメソッドの戻り値の型に依存するのかです。
これはおすすめです。保存するときにブロックするといいですか? – StackTraceYo