Rest com jersey

1 resposta
J

Bom dia
Tenho a classe Categoria:

@XmlRootElement(name = "categoria")
@Entity
@Table(name = "CATEGORIA")
public class Categoria {

	@Id
	@GeneratedValue
	@Column(name = "ID")
	private int id;
	
	@Column(name = "NOME")
	private String nome;
	
	@OneToMany(mappedBy="categoria", fetch = FetchType.EAGER)
	private Set<Produto> produtos;

	// gets e sers omitidos

	public List<Categoria> listaTudo(){
		// Vai no banco tras todas as categorias 			
		List<Categoria> lista = dc.listaTudo();
		
		return lista;		
	}
}


//Classe Produto:

@Entity
@Table(name = "PRODUTO")
public class Produto {
	@Id
	@GeneratedValue(generator="SEQ_PRODUTO")
	@SequenceGenerator(name="SEQ_PRODUTO", sequenceName="SEQ_PRODUTO", allocationSize=1)
	@Column(name = "ID")
	private int id;
	
	@Column(name = "NOME", nullable = true, length = 50)
	private String nome;	
	
	@ManyToOne
                  @JoinColumn(name = "CATEGORIA_ID", nullable = false)
                  private Categoria categoria;	
}


//Serviço:

@Path("/categoria")
public class CategoriaServico {
	@GET
	@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
	public List<Categoria> tudo(){
		Categoria c = new Categoria();
		for(Categoria car:c.listaTudo()) {
			System.out.println(" Cat: "+car.getNome());
			//Produto p = new Produto();
			for(Produto p:car.getProdutos()) {
				System.out.println(" Prod: "+p.getNome());
			}
		}
		return c.listaTudo();
	}
}

Aqui no teste consigo ler produtos em cada cateria (trás todas as categorias com os produtos de cada uma)
porem não consegue montar o XML, na tela da erro 500
Não consegue ler a lista de produtos dentra da lista de Categoria

1 Resposta

darlan_machado

E o que aparece no log? Existe alguma exceção?

Criado 11 de junho de 2019
Ultima resposta 11 de jun. de 2019
Respostas 1
Participantes 2