Vraptor 4 Rest Json puro e simples

Disponibilizar um serviço RESTFull no formato Json com Vraptor 4 é tão simples, mas tão simples, que eu tenho é vergonha de escrever um post só para isso.

Vou usar como base o projeto criado  nesse outro post

Olha só que simples! Igual a Jogada no ronaldinho gaúcho: olha para o lado e toca para o outro! (enrrolando aqui para o post não ficar pequeno de mais).

Vamos na classe productController e adicionamos essa action:

 @Get("/json")
 public void productsJson(){
        
     List<Product> lista = productDao.all();
     result.use(json()).from(lista).include("category").serialize();
        
 }
 

Não esquecendo de adicionar esse import:

 import static br.com.caelum.vraptor.view.Results.json;

Bota o projeto para rodar e tá aí o resultado:

Imagem

O objeto product tem um atributo que é outro objeto: category. Por padrão os atributos que não objeto (segundo nível) não vem. 

Se eu quiser trazer o objeto category basta adicionar .include("category"):

 @Get("/json")
 public void productsJson(){
        
     List<Product> lista = productDao.all();
     result.use(json()).from(lista).include("category").serialize();
        
 }
 

Imagem

Blz! para adicionar um atributo que não vem por padrão é include.

E se eu quiser excluir um atributo?

exclu.... (quem adivinhar ganha um bom-bom)  

Comentários

 

Quem Sou

Graduado em ADS (Análise e desenvolvimento de sistemas).

Não sou "devoto" de nenhuma linguagem de programação. Procuro aproveitar o melhor de cada uma de acordo com a necessidade do projeto. Prezo por uma arquitetura bem feita, código limpo, puro e simples! 

anuncio atendente