重定向至创建实体

Good day)有一个控制器,在成功完成后会创建一个实体,我想在提交表单后,发生一个重定向到这个实体的页面,但它的id目前还不知道)告诉我,谁知道如何重定向到一个创建的实体?

@PostMapping("/project/create")
public String processCreateProject(
        @Valid Project project,
        BindingResult bindingResult,
        Model model) {
    model.addAttribute("project", project);
    if (bindingResult.hasErrors()) {
        Map<String, String> errors = ControllerUtils.getErrors(bindingResult);
        model.mergeAttributes(errors);
        return "teacherProjectCreate";
    } else {
        projectService.createProject(project);
        return "redirect:/projects/project/{id}";
    }
}

其中 “redirect:projectsproject{id}”中的{id}–是创建实体的id。

解决方案:

在方法中进行修改,返回Newly created project的id,并重定向到该id上。

Long id = projectService.createProject(project);

然后在重定向的url中填充id,如下图。

"redirect:/projects/project/"+id;

本文来自投稿,不代表运维实战侠立场,如若转载,请注明出处:https://www.shizhanxia.com/323.html

(0)
上一篇 2022年6月29日 下午3:55
下一篇 2022年6月29日 下午3:55

相关推荐

发表评论

登录后才能评论