Tenho o recurso criado abaixo, muito próximo ao das aulas. Detalhe: Na aula 4, o instrutor diz que vai instruir como gerar XML e JSON dentro de um mesmo recurso em aulas posterior, mas não há, não houve menção sobre isso.
Vamos ao recurso.
package br.com.eicon.loja.resource;
import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType;
import br.com.eicon.loja.dao.PedidoDAO; import br.com.eicon.loja.modelo.Pedido;
@Path("pedidos") public class PedidoResource {
@Path("{numControle}")
@GET
@Produces(MediaType.APPLICATION_XML)
public String buscaPedidoXML(@PathParam("numControle") long numControle) {
Pedido pedido = new PedidoDAO().busca(numControle);
return pedido.toXML();
}
@Path("{numControle}")
@GET
@Produces(MediaType.APPLICATION_JSON)
public String buscaPedidoJSON(@PathParam("numControle") long numControle) {
Pedido pedido = new PedidoDAO().busca(numControle);
return pedido.toJSON();
}
}
Estou efetuando as chamadas abaixo pelo CURL.
curl -v -H "Content-Type: application/xml" http://localhost:8080/pedidos/1
ou
curl -v -H "Content-Type: application/json" http://localhost:8080/pedidos/1
Porém, se eu executar a chamada com xml e após com JSON, o resultado será sempre o da primeira execução ou seja, XML mesmo chamando com header JSON.
Como contornar isso ?