[ 
https://issues.apache.org/jira/browse/CXF-2717?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12845983#action_12845983
 ] 

Andreas Sahlbach commented on CXF-2717:
---------------------------------------

I understand that url-encoding is the default for @FormParam, because there is 
actually no other way for url-encoded-forms to encode parameters. Therefore it 
makes sense to let FormParam decode the data this way.

But multipart data can be encoded in several ways. The encoding of the 
multipart part can be read out and the data can be automatically decoded the 
proper way. What I would expect from CXF is, that it decodes the data the 
proper way and then just injects it into my parameter without that I have to 
specify an encoding. Actually I don't want to specify the encoding, because I 
don't care how the data is transported to me. I want that my function works for 
multipart data that is encoded as 8bit string as well as quoted-printable (as 
long as it makes sense), so that the caller of the function just needs to know, 
that he has to use multipart form-data.

Is this possible?




> @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.

Reply via email to