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

Sergey Beryozkin commented on CXF-4782:
---------------------------------------

I think you can simply write a basic CXF interceptor which will sit at any 
stage before or at the one used by JAXRSInInterceptor and replace "_type" with 
"format" by updating Message.QUERY_STRING on the message; and also update 
RequestPreprocessor by getting it from the message:

{code:java}
ProviderFactory providerFactory = ProviderFactory.getInstance(message);
RequestPreprocessor rp = providerFactory.getRequestPreprocessor();
{code}

Hope it will do it
                
> Cannot easily override the Accept content type
> ----------------------------------------------
>
>                 Key: CXF-4782
>                 URL: https://issues.apache.org/jira/browse/CXF-4782
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 2.7.2
>            Reporter: Jason Chaffee
>
> I need to add the ability to override the Accept header using a query 
> parameter.  I know CXF supports "_type", but there are two problems with the 
> way that is implemented that won't work for us.  1) We need to parameter name 
> to be "format" instead of "_type" and currently this is not configurable.  2) 
> We need to be able to pass in a map of special type that we would like to 
> map.  This would added to the SHORTCUTS.  
> Since the current RequestPreProcessor doesn't allow for either one of those, 
> I decided to write a JAXRS Filter/RequestHandler.  The problem I found is 
> that the JAXRSInInterceptor has already looked up the acceptContentType 
> before my RequestHandler.handleRequest() method is called.  Thus, I am unable 
> to override it using this approach.  
> Ideally, the fix would be to simply make them configurable in the 
> RequestPreProcessor.  However, I am not quite sure how that would be done 
> since this is not a class that is managed/configured in the IoC/DI container. 
>  
> Another approach would be to call the RequestHandlers before resolving the 
> acceptContentType.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to