Srinivas Nagulapalli created CXF-5988:
-----------------------------------------

             Summary: Provide support for a pluggable parameter conversion 
mechanism for JAX-RS client side proxies
                 Key: CXF-5988
                 URL: https://issues.apache.org/jira/browse/CXF-5988
             Project: CXF
          Issue Type: Bug
          Components: Core, JAX-RS
    Affects Versions: 3.0.1
         Environment: Windows 7
            Reporter: Srinivas Nagulapalli
             Fix For: 3.0.1


Server-side JAX-RS implementation allows injection of custom parameter 
converters using ParamConverterProvider 
(http://cxf.apache.org/docs/jax-rs-basics.html#JAX-RSBasics-Parameterconverters).
A similar mechanism (or the exact same) is required on the client side to 
control how parameters are serialized (marshalled). One approach is to allow 
specifying param converters when declaring jaxrs:client with Spring and/or 
programmatically specifying it. 

A specific case to consider: Client side serialization of Date object 
(java.util.Date). 

Given the following API:

@Path(“/someresource”)
@GET
void someApi(@MatrixParam(“”) SomeRequestWithDate request);
 
Following shows the structure of the request with Dates:
//----------------------------------------------------
import java.util.Date;

public class SomeRequestWithDate {      
    protected Date startDate;
        
    public Date getStartDate() {
        return startDate;
    }
}
//----------------------------------------------------
When API is invoked through a client proxy

Then the following URL should be generated (where dates are serialized as ISO 
strings):

/someresource/;startDate=2014-09-04T19:05:38.785Z

Instead, currently following URL is generated:

/someresource/;startDate.date=4;startDate.hours=15;startDate.minutes=4;startDate.month=8;startDate.seconds=34;startDate.time=1409857474660;startDate.year=114;startDate.day=4;startDate.timezoneOffset=240



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to