我使用此方法保存或更新数据库中的现有配方,如果配方是新的,则传入对象可能没有id属性。将命令保存到db后,我需要将用户重定向到显示配方的页面,为此,我需要从recipeservice.saverecipecommand()返回的mono中获取id属性。我如何在不调用.block()方法的情况下获取这个值?
@PostMapping("recipe")
public String saveOrUpdate(@ModelAttribute("recipe") RecipeCommand command) {
RecipeCommand savedCommand = recipeService.saveRecipeCommand(command).block();
return "redirect:/recipe/" + command.getId() + "/show";
}
我得到的错误是:
java.lang.IllegalStateException: block()/blockFirst()/blockLast() are blocking, which is not supported in thread reactor-http-nio-2
2条答案
按热度按时间bfrts1fy1#
我想你应该试着像这样返回修改过的mono:
我不确定语法,但你应该让框架打开
Mono
.irlmq6kh2#
我解决了这个问题。这就是解决办法