[
https://issues.apache.org/jira/browse/CXF-8669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17647599#comment-17647599
]
Eric Chatellier edited comment on CXF-8669 at 12/14/22 4:38 PM:
----------------------------------------------------------------
Hi,
I investigated a lot this bug.
In version {+}3.4.3{+}, for *Long* parameter,
{*}org.apache.cxf.jaxrs.ext.multipart.{_}*Attachment#getContentType(){_}{*}*
returns _MediaType.TEXT_PLAIN_TYPE_ because
{*}org.apache.cxf.attachment.AttachmentDataSource.{*}{*}getContentType(){*}
also return "null".
So "{_}text/plain"{_} parameters are handled by *PrimitiveTextProvider* and
then converted to {*}long{*}.
In version {+}3.5.5{+}, there is a change in
{*}org.apache.cxf.attachment.AttachmentDataSource.{*}{*}getContentType(){*}
returning a default {_}"{_}{_}application/octet-stream"{_} content type (maybe
due too [this
commit|[https://github.com/apache/cxf/commit/d27ad0157e49fdd601f702823155ff813880de5b]]
There is no *MessageBodyReader* implementation to hander
{_}application/octet-stream{_}, so parameter is not converted and this result
to "{_}null{_}" value.
Hope this helps
was (Author: JIRAUSER288052):
Hi,
I investigated a lot this bug.
In version {+}3.4.3{+}, for *Long* parameter,
*org.apache.cxf.jaxrs.ext.multipart.{_}*Attachment#getContentType()*{_}*
returns _MediaType.TEXT_PLAIN_TYPE_ because
{*}org.apache.cxf.attachment.AttachmentDataSource.{*}{*}getContentType(){*}
also return "null".
So "{_}text/plain"{_} parameters are handled by *PrimitiveTextProvider* and
then converted to {*}long{*}.
In version {+}3.5.5{+}, there is a change in
{*}org.apache.cxf.attachment.AttachmentDataSource.{*}{*}getContentType(){*}
returning a default {_}"{_}{_}application/octet-stream"{_} content type (maybe
due too [this
commit|[https://github.com/apache/cxf/commit/d27ad0157e49fdd601f702823155ff813880de5b].]
There is no *MessageBodyReader* implementation to hander
{_}application/octet-stream{_}, so parameter is not converted and this result
to "{_}null{_}" value.
Hope this helps
> Multipart annotation not working 3.4.6 onwards.
> -----------------------------------------------
>
> Key: CXF-8669
> URL: https://issues.apache.org/jira/browse/CXF-8669
> Project: CXF
> Issue Type: Bug
> Reporter: Abhishek Rana
> Priority: Major
>
> Hello Team,
> I have following API declaration
> {code:java}
> @POST
> @Path("/{configurationName}.diff")
> @Consumes(MediaType.MULTIPART_FORM_DATA)
> @Produces({MediaType.APPLICATION_JSON})
> ConfigurationDiffDTO diff(@PathParam("configurationName") String
> configurationName,
> @Multipart(value = "fromRev", required = false) Long fromRev,
> @Multipart(value = "toRev", required = false) Long toRev, @Multipart(value =
> "file", required = false) Attachment file);
> {code}
> Above declaration works fine till 3.4.5 , after I upgraded to 3.5.0 (even
> 3.4.6) , multipart form values (fromRev and toRev) they are coming as null.
> Is it a regression?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)