Como não ferir o padrão Restful

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.

Existe uma anotação para remover registros, evite usar verbos como path, as açoes devem ser indicadas pelos metodos http e não pela url.
De uma olhada na documentacao abaixo.
https://jersey.java.net/documentation/latest/jaxrs-resources.html

@DELETE
@Path("/")
public void remove(String json) {}
1 curtida

@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!

Obrigado desde já ^^