thymeleaf - 使用 Spring WebFlux 和 Thymeleaf 进行重定向后获取
问题描述
有人可以向我解释如何在 Spring WebFlux 和 Thymeleaf 中实现post-redirect-get模式吗?什么订阅了数据库保存方法?
@GetMapping("/register")
public String showRegisterForm(Model model) {
model.addAttribute("user", new User());
return "register";
}
@PostMapping
public String processRegisterForm(@Valid User user, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return "register";
} else {
userRepository.save(user); //what subscribes on this?
//how to redirect on e.g. "/login"?
}
}
解决方案
你可以让你的控制器方法返回一个反应类型,如下所示:
@PostMapping
public Mono<String> processRegisterForm(@Valid User user, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return Mono.just("register");
} else {
return userRepository.save(user).thenReturn("redirect:/login");
}
}
推荐阅读
- ajax - 我们如何将 FormData 发送到带有附加参数的 web api?
- php - php curl与ssl证书连接失败
- mysql - 如何使用MYSQL查询给定时间范围的结果表
- javascript - 使用 React Router 的 Passport 登录仅在第二次点击时起作用?
- netlogo - Netlogo 错误:“这
已经死了 - bash - LS_COLORS - .bashrc 扩展名不会改变颜色
- python - PyQt5 无法加载平台插件 xcb
- android - React native Expo Custom font android问题
- python - 在抵押账户上使用格子进行交易
- javascript - 3个具有不同宽度和高度的可拖动对象。单击按钮后在页面上水平和垂直对齐它们