У меня есть 2 контроллера:
a)
@Override
@RequestMapping(value = "/portal/form.html", method = RequestMethod.GET)
@Transactional
public String form(final Message message, final Model model) {
return "portal/form";
}
b)
@Override
@RequestMapping(value = "/portal/form.html", method = RequestMethod.POST)
@Transactional
@PreAuthorize("#message.id!=null ? hasPermission(#message, 'WRITE') : hasRole('ROLE_ADMIN')")
public String form(@Valid final Message message, final Model model) {
if (message.getId() == null) {
someService.save(message);
AclManager.create(message);
} else {
someService.update(message);
AclManager.update(message);
}
return "redirect:result.html";
}
До того, как я поставил аннотации безопасности в Controller "b", все было хорошо. Теперь, когда я перехожу на страницу контроллера «а» и заполняю форму, нажимаю кнопку, которая вызывает контроллер «б», и я получаю «Статус HTTP 405 — метод запроса« POST »не поддерживается». Почему это происходит и как это исправить?
UPD: помог добавить в логин-контроллер RequestMethod.POST