On 1/10/2013 9:41 AM, Eric Wittmann wrote: > Greetings. > > I am trying to get a multi-value input part working in my resteasy > service. On the inbound side, I'm expecting a multipart/formdata post, > where an input part named "propertyName" may appear multiple times. I > need to read that in as a Collection of some sort. Some sample code > that may or may not be right: > > @POST > @Consumes(MediaType.MULTIPART_FORM_DATA) > @Produces(MediaType.APPLICATION_ATOM_XML_FEED) > public Feed queryFromPost(MultipartFormDataInput input) { > String query = input.getFormDataPart("query", > new GenericType<String>() { }); > Set<String> propNames = input.getFormDataPart("propertyName", > new GenericType<Set<String>>() { }); > return doQuery(query, propNames); > } >
qyer is right, propNames is wrong. You'll have to do List<InputPart> propNames = input.getFormDataMap().get("propertyName"); > I'm also using resteasy on the client-side. Not sure how to submit the > POST with multiple values. Currently I have: > > String url = ... > String query = ... > Set<String> propertyNames = ... > ClientRequest request = new ClientRequest(url); > MultipartFormDataOutput formData = new MultipartFormDataOutput(); > formData.addFormData("query", query, MediaType.TEXT_PLAIN_TYPE); > formData.addFormData("propertyName", propertyNames, > MediaType.TEXT_PLAIN_TYPE); The above will try to marshal a Set<String> into TEXT_PLAIN, which will call Set.toString(). > request.body(MediaType.MULTIPART_FORM_DATA_TYPE, formData); > ClientResponse<Feed> response = request.post(Feed.class); > > Clearly this isn't right. Any thoughts on how this should be done? > I'm not exactly sure what you're trying to do? Why not just create your own json or XML media type and send that? What are you using multipart? -- Bill Burke JBoss, a division of Red Hat http://bill.burkecentral.com ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnmore_122712 _______________________________________________ Resteasy-users mailing list Resteasy-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/resteasy-users