我有 2 个控制器:
一种)
@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";
}
在我在控制器“b”中添加安全注释之前,一切都很好。现在,当我转到控制器“a”的页面并填写表格时,单击导致控制器“b”的按钮,我得到“HTTP 状态 405 - 不支持请求方法 'POST'”。为什么会发生这种情况以及如何解决?
UPD:我帮助添加到登录控制器 RequestMethod.POST