You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Sergey Beryozkin (JIRA)" <ji...@apache.org> on 2010/03/16 15:07:27 UTC

[jira] Resolved: (CXF-2717) @FormParam can't be used with Multipart Forms

     [ https://issues.apache.org/jira/browse/CXF-2717?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Beryozkin resolved CXF-2717.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.3
                   2.2.7

Andreas, I believe it is actually the fact that simple (string) multipart/form-data values were not decoded by default when @Multipart were used which caused you to open the bug issue.

I've updated the code so by default, given 'A+B', you will get 'A B' but the auto decoding (same as when using @FormParam) can be disabled by adding an @Encoded annotation.

Note that it is unlikely @FormParams will ever be used in future JAXRS specs for handling multiparts, there're limited in that one can not specify a content-type of the individual part, etc

> @FormParam can't be used with Multipart Forms
> ---------------------------------------------
>
>                 Key: CXF-2717
>                 URL: https://issues.apache.org/jira/browse/CXF-2717
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 2.2.5
>            Reporter: Andreas Sahlbach
>             Fix For: 2.2.7, 2.3
>
>
> In the JAX-RS documentation I've read the following:
> {quote}
> When handling complex multipart/form-data submissions (such as those containing files) MultipartBody (and Attachment) need to be used directly. In simpler cases, when every form part can be captured by String, the following code will suffice :
> @POST
> @Consumes("multipart/form-data")
> public void addForm1(@FormParam("name") String title, @FormParam("id") Long id) throws Exception {
> ...
> {quote}
> This is either a bug in CXF or a misleading documentation (at least for slow-minded non-native speaker like me). The big difference between @FormParam and @Multipart is, that @FormParam _always_ expects url-encoded data. So sending "A+B" using Multipart in e.g. 8-bit encoding or binary encoding delivers "A B" to @FormData annotated Strings but "A+B" to @Multipart annotated Strings. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.