0
我開始使用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,這將正常工作。問題是,爲什麼將文檔保存到數據庫取決於方法的返回類型。
這是推薦的,就像我應該在保存時阻塞? – StackTraceYo