Agora é a vez de excluirmos um produto da lista. Para isso precisaremos de um link na página de detalhes do produto que vai apontar para uma rota que vai excluir o produto, e a rota com o método que vai excluir o produto.
Vamos começar adicionando um link na página de detalhes do produto que vai apontar para a rota de exclusão do produto. Esse link vai ser bem similar ao link que criamos para a página de edição do produto, mudando apenas o nome da página.
1<td>2 <a th:href="@{/products/show(id = ${product.id})}">Show</a> |3 <a th:href="@{/products/edit(id = ${product.id})}">Edit</a> |4 <a th:href="@{/products/delete(id = ${product.id})}">Delete</a>5</td>
Agora precisamos criar a rota para essa página que deve receber o parâmetro id
, procurar pelo produto na lista de produtos e excluir esse produto. Vamos criar um novo método no nosso controller para essa rota.
1 @GetMapping("/products/delete")2 public String delete(@RequestParam("id") String id){3 Product product = findProductById(id);4 products.remove(product);5 return "redirect:/products";6 }
Abra o navegador e teste a funcionalidade de exclusão de um produto.