Excluindo um produto

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.