Antes o teste usando o CURL passava um xml como string no método adiciona de CarrinhoResource.java.
Agora que foi serializado com JAXB (e o parâmetro portando é um objeto Carrinho e não mais uma String ) não foi mostrado como pode ser feito o post com o CURL.
@POST
@Consumes(MediaType.APPLICATION_XML)
public Response adiciona(Carrinho carrinho) {
new CarrinhoDAO().adiciona(carrinho);
URI uri = URI.create("/carrinhos/" + carrinho.getId());
return Response.created(uri).build();
}
antes era:
@POST
@Consumes(MediaType.APPLICATION_XML)
public Response adiciona(String conteudo) {
Carrinho carrinho = (Carrinho) new XStream().fromXML(conteudo);
new CarrinhoDAO().adiciona(carrinho);
URI uri = URI.create("/carrinhos/" + carrinho.getId());
return Response.created(uri).build();
}
e o CURL era:
curl -d "<br.com.alura.loja.modelo.Carrinho> <produtos> <br.com.alura.loja.modelo.Produto> <preco>4000.0</preco> <id>6237</id> <nome>Videogame 4</nome> <quantidade>1</quantidade> </br.com.alura.loja.modelo.Produto> </produtos> <rua>Rua Vergueiro 3185, 8 andar</rua> <cidade>São Paulo</cidade> <id>1</id></br.com.alura.loja.modelo.Carrinho>" http://localhost:8080/carrinhos
ou
curl -v -H "Content-Type: application/xml" -d "<br.com.alura.loja.modelo.Carrinho> <produtos> <br.com.alura.loja.modelo.Produto> <preco>4000.0</preco> <id>6237</id> <nome>Videogame 4</nome> <quantidade>1</quantidade> </br.com.alura.loja.modelo.Produto> </produtos> <rua>Rua Vergueiro 3185, 8 andar</rua> <cidade>São Paulo</cidade> <id>1</id></br.com.alura.loja.modelo.Carrinho>" http://localhost:8080/carrinhos