Boa noite pessoal, tudo bem?
Tenho adotado um “padrão” em meus recursos e não sei se isso fere o conceito de API Restful. O cenário é basicamente o seguinte: Dada uma listagem de um objeto qualquer na página, o usuário pode selecionar alguns itens (objetos) e remover em lote. Neste caso, a usabilidade do método @GET não é muito interessante.
Segue o trecho de código para exemplificar:
@POST
@Path("/remove/selecionados")
public void remove(String json) {
Gson gson = new Gson();
Type typeLong = new TypeToken<List<Long>>() {
}.getType();
List<Long> ids = gson.fromJson(json, typeLong);
service.remove(ids); // service trabalhando
}
Notem que estou usando um método @POST para efetuar uma remoção! Porém, não encontrei uma forma mais “elegante” de tratar este caso.
@Henrique_Luiz_Silva, tenho conhecimento da anotation @DELETE, porém, no front-end, eu não consigo passar um JSON via .delete(). Eu já uso este método, porém, somente quando eu quero remover apenas um objeto, passando o id do mesmo na URL. Portanto, minha dúvida persiste =/
ps: eu evito usar o @Path nos métodos, só que neste caso, se fez necessário (por enquanto eu espero… rs).
ps2: agora que me atentei que no post original citei o método @GET(quis dizer @DELETE) … foi o sono!