cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Sahlbach (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CXF-2717) @FormParam can't be used with Multipart Forms
Date Tue, 16 Mar 2010 16:42:27 GMT

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


Mime
View raw message