Olá pessoal!
Estou implementando um web service RESTful aqui utilizando o Jersey e gostaria de saber o seguinte: É trivial passarmos um JSON por exemplo para um POST, que poderia ser implementado da seguinte forma no servidor:
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Cliente addCliente(Cliente cliente) {
try {
clienteDAO.add(cliente);
return cliente;
} catch (Exception e) {
throw new WebApplicationException(Status.INTERNAL_SERVER_ERROR);
}
}
Porém como seria a melhor forma de implementar um GET passando um objeto Cliente (seja por JSON, XML, etc…)? Pois todos os exemplos que vi até hoje se baseia na própria URL (seja por PathParam ou QueryParam). Não tem uma forma de transmitir o objeto Cliente mesmo? Algo como:
@GET
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Cliente get(Cliente cliente) {
try {
return clienteDAO.get(cliente);
} catch (Exception e) {
throw new WebApplicationException(Status.INTERNAL_SERVER_ERROR);
}
}
Existe alguma forma de fazer isso?