Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Personalizar produto da lista

Boa tarde,

Na última aula, utilizando o JAX-B para serializar e desserializar os itens, há algo que me incomoda:

<carrinho>
<produtos>
<preco>4000.0</preco>
<id>6237</id>
<nome>Videogame 4</nome>
<quantidade>1</quantidade>
</produtos>
<produtos>
<preco>60.0</preco>
<id>3467</id>
<nome>Jogo de esporte</nome>
<quantidade>2</quantidade>
</produtos>
<rua>Rua Vergueiro 3185, 8 andar</rua>
<cidade>S�o Paulo</cidade>
<id>1</id>
</carrinho>

Esse produtos não fica representativo, visto que é referente a apenas um produto, e não sua lista. Como poderia renomear cada item da lista de produtos para "produto"?

No curso de JAX-WS o Nico mostrava utilizando uma classe auxiliar, que simplesmente iria obter o nome nesse caso de Produtos, contendo a lista. Eu deveria fazer desta forma no caso de REST também?

PS.: Consegue resolver parcialmente colocando a anotação @XmlElement(name = "produto") dentro da classe Carrinho, entretanto os elementos não são embrulhados

1 resposta
solução!

Resolvido:

    @XmlElement(name = "produto")
    @XmlElementWrapper(name="produtos")
    private List<Produto> produtos = new ArrayList<Produto>();

A anotação @XmlElementWrapper() embrulha cada produto com a tag , como desejado.