Sorry - we are JBoss 4.2.3.GA (still) with RestEasy 2.3.5. -----Original Message----- From: Bill Burke [mailto:bbu...@redhat.com] Sent: Wednesday, September 04, 2013 3:06 PM To: Mike Miller Cc: resteasy-users@lists.sourceforge.net Subject: Re: [Resteasy-users] Confused on handling response containing collections in json
What is your server? Tomcat? Jetty? JBoss version? On 9/4/2013 4:02 PM, Mike Miller wrote: > Okay, thanks - so how do I do that? I see Chapter 21 (2.3.5) talks about > Maven but we aren't using maven. Do I just need to include the jar or is > there something in the web.xml that I need to add to include this 'provider? > > Also could someone please address my last question: > > "Are we using the Response object incorrectly? What's really the difference > between returning List<Customer> vs Response with the List<Customer> in the > generic entity?" > > -----Original Message----- > From: Bill Burke [mailto:bbu...@redhat.com] > Sent: Wednesday, September 04, 2013 2:54 PM > To: resteasy-users@lists.sourceforge.net > Subject: Re: [Resteasy-users] Confused on handling response containing > collections in json > > Switch to Jackson on the server side. We will be deprecating Jettison in the > near future as it is buggy and not being well maintained. > Jackson has all of what Jettison has and more... > > But you are right, Jettison produces different JSON. > > On 9/4/2013 3:27 PM, Mike Miller wrote: >> We are building a restful api, using 2.3.5 (although I don't think >> the release level matters) and I am a bit confused on response >> handling within RestEasy: >> >> Right or wrong, we made most of our resource methods return Response, >> using the GenericEntity when we wanted to return a collection of >> objects. Testing up to now was in Chrome Advanced Rest Client. We >> have our beans JAXB annotated and the resource 'produces' both >> application/xml and application/json. For example: >> >> @GET >> >> @Produces({"application/json", "application/xml"}) >> >> *public*Response find(@ContextUriInfo uriInfo) >> >> { >> >> setupQueryParms(uriInfo.getQueryParameters()); >> >> List<Customer> custList = *null*; >> >> *try*{ >> >> custList = listAllPaginated(); >> >> } *catch*(FinderException e) { >> >> Log./getInstance/().error("FinderException >> caught :", e ); >> >> throwException(Response.Status./NOT_FOUND/, >> "Error searching customers"); >> >> } >> >> GenericEntity<List<Customer>> entity = >> *new*GenericEntity<List<Customer>>(custList) {}; >> >> *return*Response./ok/(entity).build(); >> >> } >> >> Now, as part of writing JUnit test cases, I wanted to take the >> response I get back and put it back to object form so that I can then do a >> set of >> asserts against the object or list of objects returned. I downloaded >> Jackson version 1.9.11 and tried to serialize/marshal the json back >> to object form but keep getting the following error: >> >> Exception in thread "main" >> _org.codehaus.jackson.map.exc.UnrecognizedPropertyException_: >> Unrecognized field "Customer" (Class >> com.jda.portfolio.api.rest.base.Customer), not marked as ignorable >> >> at [Source: C:\PPOSDevelopment\Trunk\API\REST\Server\response.json; >> line: 1, column: 15] (through reference chain: >> com.jda.portfolio.api.rest.base.Customer["Customer"]) >> >> Is there a difference between Jackson json and what RestEasy produces, from >> I think Jettison? I also took the example from User doc section 19.6.1 >> JSON and JAXB collections/arrays >> >> >> >> [{"foo":{"@test":"bill"}},{"foo":{"@test":"monica}"}}] and tried to marshal >> that back to object form - getting the same error. >> >> >> >> It seems like from Jackson, I would get something like: >> >> [{"@test":"bill"},{"@test":"monica}"}] for a List<Foo> - the difference >> being the {foo: } which looks like a wrapper for the object. >> >> >> >> I changed the code to return List<Customer> instead of the Response with >> GenericEntity including the List<Customer> but the json looks the same. >> >> >> >> What am I doing wrong? >> >> >> >> Are we using the Response object incorrectly? What's really the difference >> between returning List<Customer> vs Response with the List<Customer> in the >> generic entity? >> >> >> >> I hope this is clear, but I can provide more details if needed. >> >> >> >> >> >> >> >> --------------------------------------------------------------------- >> - >> -------- Learn the latest--Visual Studio 2012, SharePoint 2013, SQL >> 2012, more! >> Discover the easy way to master current and previous Microsoft >> technologies and advance your career. Get an incredible 1,500+ hours >> of step-by-step tutorial videos with LearnDevNow. Subscribe today and save! >> http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg. >> c >> lktrk >> >> >> >> _______________________________________________ >> Resteasy-users mailing list >> Resteasy-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/resteasy-users >> > > -- > Bill Burke > JBoss, a division of Red Hat > http://bill.burkecentral.com > > ---------------------------------------------------------------------- > -------- Learn the latest--Visual Studio 2012, SharePoint 2013, SQL > 2012, more! > Discover the easy way to master current and previous Microsoft technologies > and advance your career. Get an incredible 1,500+ hours of step-by-step > tutorial videos with LearnDevNow. Subscribe today and save! > http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.c > lktrk _______________________________________________ > Resteasy-users mailing list > Resteasy-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/resteasy-users > -- Bill Burke JBoss, a division of Red Hat http://bill.burkecentral.com ------------------------------------------------------------------------------ Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! Discover the easy way to master current and previous Microsoft technologies and advance your career. Get an incredible 1,500+ hours of step-by-step tutorial videos with LearnDevNow. Subscribe today and save! http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk _______________________________________________ Resteasy-users mailing list Resteasy-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/resteasy-users