users@jersey.java.net

[Jersey] Re: Jersey can produce List<T> but cannot Response.ok(List<T>).build()?

From: Pavel Bucek <pavel.bucek_at_oracle.com>
Date: Tue, 24 May 2011 12:07:44 +0200

Hello,

this should work:

return Response.ok(
        new GenericEntity<List<Stock>>(Lists.newArrayList(stock)){}
).build();


Regards,
Pavel

On 5/21/11 1:59 PM, amsellem.yves wrote:
> Jersey can produce:
>
> @Path("/stock")
> public class StockResource {
> @GET
> @Produces(MediaType.APPLICATION_JSON)
> public List<Stock> get() {
> Stock stock = new Stock();
> stock.setQuantity(3);
> return Lists.newArrayList(stock);
> }
> }
> But cannot do the same with:
>
> @Path("/stock")
> public class StockResource {
> @GET
> @Produces(MediaType.APPLICATION_JSON)
> public Response get() {
> Stock stock = new Stock();
> stock.setQuantity(3);
> return Response.ok(Lists.newArrayList(stock)).build();
> }
> }
> Giving the error: A message body writer for Java class java.util.ArrayList,
> and Java type class java.util.ArrayList, and MIME media type
> application/json was not found
>
> This prevent the use of HTTP status code and headers.
>
> --
> View this message in context: http://jersey.576304.n2.nabble.com/Jersey-can-produce-List-T-but-cannot-Response-ok-List-T-build-tp6389283p6389283.html
> Sent from the Jersey mailing list archive at Nabble.com.
>