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)