I was using .delete but the method is not being recognized from the error in the console at a time.
2017-04-12 09: 51: 34.022 WARN 5836 --- [nio-8080-exec-9] o.s.web.servlet.PageNotFound: Request method 'POST' not supported
I'm sending this in html.
<form method="post">
<input type="hidden" name="_method" value="DELETE"/> </form>
And my controller is like this.
@PreAuthorize("hasAuthority('PERM_MANTENEDORA_EXCLUIR')")
@RequestMapping(value = "/excluir/{id}", method = RequestMethod.DELETE)*****************
public String excluirMantenedora(@PathVariable("id") Mantenedora mantenedora, RedirectAttributes attributes) {
if (mantenedora.getSituacao().getNome() == "ativo") {
try {
// condição para não deixar EXCLUIR quando tiver algum vínculo.
List<Instituicao> instituicoes = instituicaoRepository.findByMantenedoraId(mantenedora.getId());
if (instituicoes.size() <= 0) {
mantenedoraService.excluir(mantenedora.getId());
mensagem = mensagemSucesso(MensagemEnum.MENSAGEM_SUCESSO_EXCLUIR.getMensagem());
} else {
mensagem = mensagemErro(MensagemEnum.MENSAGEM_ERRO_VINCULO.getMensagem());
}
} catch (CustomException e) {
mensagem = mensagemErro(e.getMessage());
}
attributes.addFlashAttribute("mensagem", mensagem);
}
return "redirect:/mantenedora";
}
If I change DELETE to POST it works but I want to know why this happened because the DELETE method is not recognized.