Use .POST or .DELETE method for request to delete data

0

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.

    
asked by anonymous 12.04.2017 / 13:56

0 answers