Pass a List as a parameter in web services RESTFul Java

2

Could someone explain me how to get a List as a parameter in a RESTFul Java webservices? I've tried in several places, but I still can not understand. Thanks in advance ! The code below is an example and how I did it in my actual code. In the request, I forward a JSON with the products, web-services returns 200 OK, but prints "[]".

@path("/incluirProdutos")
@consumes(MediaType.APPLICATION_JSON)
@produces(MediaType.APPLICATION_JSON)
public String incluirProdutos(List<Produto> produtos){ 

      return produtos.toString();
 }
    
asked by anonymous 28.11.2016 / 14:42

1 answer

0

The resolution for this is to use a wrap class from your list, here's an example below to help you:

// Wrapper
class Produtos {
  List<Produto> produtos
}

// JAX-RS
@path("/incluirProdutos")
@consumes(MediaType.APPLICATION_JSON)
@produces(MediaType.APPLICATION_JSON)
public String incluirProdutos(Produtos produtos){ 

      return produtos.toString();
}

// JSON
{
  "produtos": [
    {
      "nome": "teste"
    }
  ]
}
    
28.11.2016 / 15:35