У меня есть метод, который добавляет последовательность значений в БД. Если расстояние между позициями больше 1, то возвращаю кастовую ошибку (SequenceGapException). Делается это все на странице конкретного пользователя, то есть в строке есть id. Если произошла ошибка, то необходимо перейти на эту страницу с id и вывести в теге div информацию.
@PostMapping("/edit-all-sequence/save/{id}")
public String updateAllRouteStopsSequence(@PathVariable("id") Long id, @ModelAttribute("routeStops") RouteStopsDTO routeStopsDTO, Model model) {
try {
model.addAttribute("routeStops", routeStopService.editAllSequence(routeStopsDTO));
}
catch (SequenceGapException ex)
{
model.addAttribute("sequenceGapError", true);
return "/routes/edit-all-sequence/{id}/";
}
return "redirect:/routes/edit-all-sequence/{id}/";
}
<div class="mt-3" th:if="${sequenceGapError?.equals(true)}">
<div class="alert alert-danger" role="alert">Последовательность остановок неверна.
Значения последовательности не могут превышать единицу!</div>
</div>
В пост-методе контроллера "/routes/edit-all-sequence/{id}/" выделяет, как не соответствующую страницу MVC. Подскажите, как вернуть обновленную страницу пользователя с id? Пробовал через редирект, но возвращает обычную страницу. Думаю, что дело в том, что он подгружает уже созданную страницу, на которой не показана ошибка. Тогда мне необходимо выводить новую страницу с ошибкой, но сделать этого не получается.