Перенаправить на созданный объект - PullRequest
0 голосов
/ 22 апреля 2020

Добрый день) Есть контроллер, после успешного завершения будет создана сущность, я хочу, чтобы после отправки формы происходило перенаправление на страницу этой сущности, но ее идентификатор в настоящее время неизвестен) Скажите, кто знает, как перенаправить на созданный объект?

@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}";
    }
}

Где {id} в "redirect: / projects / project / {id}" - это идентификатор созданного объекта

1 Ответ

1 голос
/ 22 апреля 2020

Внесите изменения в метод, чтобы получить идентификатор только что созданного проекта и перенаправить на этот идентификатор.

Long id = projectService.createProject(project);

И затем заполнить идентификатор в URL-адресе перенаправления, как показано ниже.

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