Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-5988

Provide support for a pluggable parameter conversion mechanism for JAX-RS client side proxies

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.0.1
    • 2.7.13, 3.0.2, 3.1
    • Core, JAX-RS
    • Windows 7

    • Unknown

    Description

      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

      Attachments

        1. RestDemo2_EmptyPathParamNotWorking.7z
          7 kB
          Srinivas Nagulapalli
        2. RestDemo2_EmptyPathParamNotWorking.7z
          7 kB
          Srinivas Nagulapalli
        3. RestDemo2.7z
          6 kB
          Srinivas Nagulapalli
        4. UserManager.java
          0.9 kB
          Srinivas Nagulapalli

        Issue Links

          Activity

            People

              sergey_beryozkin Sergey Beryozkin
              snagul Srinivas Nagulapalli
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: