Depois que passei a serializar o Produto com o JAXB ao fazer um PUT para alterar a quantidade do produto recebo sempre o retorno 400 Bad request,
Produto
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Produto {
private double preco;
private long id;
private String nome;
private int quantidade;
public Produto(){
}
CarrinhoResource:
@Path("{id}/produtos/{produtoId}/quantidade")
@PUT
public Response alteraProduto(Produto produto, @PathParam("id") long id, @PathParam("produtoId") long produtoId){
Carrinho carrinho = new CarrinhoDAO().busca(id);
carrinho.trocaQuantidade(produto);
return Response.ok().build();
}
Curl:
curl -v -X PUT -H "Content-Type: application/xml" -d "<produtos><preco>4000.0</preco><id>6237</id><nome>Videogame 4</nome><quantidade>5</quantidade></produtos>" http://localhost:8080/carrinhos/1/produtos/6237/quantidade
Retorno:
> PUT /carrinhos/1/produtos/6237/quantidade HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.47.0
> Accept: */*
> Content-Type: application/xml
> Content-Length: 105
>
* upload completely sent off: 105 out of 105 bytes
< HTTP/1.1 400 Bad Request
< Date: Wed, 05 Jul 2017 14:18:17 GMT
< Connection: close
< Content-Length: 0