我在Web应用程序中有三个端点/overview
,/insert
和/update
。在/insert
,用户可以指定一些数据并提交到处理数据的/update
。在/overview
中,用户可以看到状态。
/update
本身包含两个步骤:验证并实际执行更新。验证失败后,用户将再次重定向到/insert
以更改数据。验证成功后,用户将被重定向到/overview
以查看更新的数据。代码是这样的:
@RequestMapping(value = "/update", method = {RequestMethod.POST})
public ModelAndView processData(ModelMap model, @RequestParam(value = "data", required = true) String data) {
// Do some verification, this needs some time
boolean verificationFailed = verify(data);
// In case of failed verification, return to insert page
if (verificationFailed) {
return new ModelAndView("insert", model);
}
// TODO: send some udpate to the web page
// Perform some action
doSomething(data);
// Redirect to overview page to see the effects
return new ModelAndView("redirect:/overview", model);
}
这个过程需要一些时间进行验证和实际处理(几秒钟,每次可能达到半分钟)。我想在验证成功后向用户提供更新,以便可以使用/overview
链接更新网站,如果用户怀疑超时,可以点击该链接。
用户只需点击一下即可启动两个步骤验证/处理,还假设验证通常是成功的。