Hi All,

I was able to resolve this by adding,

* <jaxrs:providers>*
*      <bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" />*
* </jaxrs:providers>*

entry to my cxf-servlet.xml file


On Sat, Jun 20, 2015 at 5:07 PM, Farazath Ahamed <[email protected]>
wrote:

> Hi Milan,
>
> I created a bean class as you suggested and tried to get the json parsed
> using JAX-RS, but i keep on encountering a
> unsupported media type error when i use CURL to send the request.
>
> my bean class
>
> *public class UmaRptRequestPayloadBean {*
>
> *    private String ticket;*
> *    private String rpt;*
>
> *    public UmaRptRequestPayloadBean() {*
> *    }*
>
> *    public String getTicket() {*
> *        return ticket;*
> *    }*
>
> *    public void setTicket(String ticket) {*
> *        this.ticket = ticket;*
> *    }*
>
> *    public String getRpt() {*
> *        return rpt;*
> *    }*
>
> *    public void setRpt(String rpt) {*
> *        this.rpt = rpt;*
> *    }*
> *}*
>
>
> my service class
>
> *@Path("/rpt")*
> *public class UmaAuthorizationEndpoint {*
>
> *    private static final Log log =
> LogFactory.getLog(UmaAuthorizationEndpoint.class);*
>
> *    @POST*
> *    @Path("/")*
> *    @Consumes("application/json")*
> *    @Produces("application/json")*
> *    public Response issueRPT(@Context HttpServletRequest
> request,UmaRptRequestPayloadBean payloadBean){*
>
> *         // rest of the code*
>
> *    }*
> *}*
>
> CURL command
>
> curl -H "Accept:application/json" -H "Content-type:application/json" -X
> POST -d '{"rpt":"dsafsdfs","ticket":"adffsdfsdfds"}'
> https://localhost:9443/uma/rpt -k -v
>
>
> Do i have to use any mapping or configuration parameter to get JAX-RS to
> parse the JSON to the bean?
>
>
>
>
> On Mon, Jun 15, 2015 at 2:01 PM, Farazath Ahamed <[email protected]>
> wrote:
>
>> Thanks Milan.
>> I will try out your suggestion.
>>
>> On Mon, Jun 15, 2015 at 8:27 AM, Milan Perera <[email protected]> wrote:
>>
>>> Hi Farazath,
>>>
>>> Instead of parsing the string manually, you can create a java bean class
>>> so that JAX-RS will parse it for you.
>>> For an example, let's say you have a json payload like this.
>>>
>>> {
>>>   "fname": "Farazath",
>>>   "lname": "Ahamed"
>>> }
>>>
>>> So you can create a java bean like this.
>>>
>>> class User {
>>>     private String fname;
>>>     private String lname;
>>>
>>>     // getters and setters for above attributes
>>> }
>>>
>>> Then your method signature has to be changed to,
>>>
>>> *public Response issueRPT(@Context HttpServletRequest request, User
>>> user)*
>>>
>>> Hope this would help you.
>>>
>>> Regards,
>>>
>>> On Mon, Jun 15, 2015 at 4:35 AM, Farazath Ahamed <[email protected]>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> I am in the process of developing a REST API using JAX-RS.
>>>> The incoming request to the endpoint contains a JSON payload which
>>>> needs to be processed.
>>>>
>>>> Currently I am using the following approach to access the payload
>>>>
>>>> @Path("/rpt")
>>>> public class UmaAuthorizationEndpoint {
>>>>
>>>> private static final Log log =
>>>> LogFactory.getLog(UmaAuthorizationEndpoint.class);
>>>>
>>>> @POST
>>>> @Path("/")
>>>> @Consumes("application/json")
>>>> @Produces("application/json")
>>>> *public Response issueRPT(@Context HttpServletRequest
>>>> request,@Multipart(value="application/json") String jsonPayload){*
>>>>
>>>> *// rest of the code*
>>>> *}*
>>>>
>>>> I am using the @Multipart annotation to get the payload as a String and
>>>> continue with parsing the JSON.
>>>>
>>>>
>>>> Is this the usual approach? If not, Is there an alternative approach to
>>>> do this?
>>>>
>>>>
>>>> --
>>>> *A.Farasath Ahamed*
>>>> Undergraduate  | Department of Computer Science and
>>>> Engineering,University of Moratuwa
>>>> Article Writer | MoraSpirit
>>>> Mobile: +94 777 603 866
>>>> Blog: http://thepseudocode.blogspot.com
>>>> E-Mail: [email protected]
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> [email protected]
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>> Milan Harindu Perera
>>> Software Engineer
>>> *WSO2, Inc*
>>> (+94) 77 309 7088
>>> lean . enterprise . middleware
>>> <http://lk.linkedin.com/in/milanharinduperera>
>>>
>>
>>
>>
>> --
>> *A.Farasath Ahamed*
>> Undergraduate  | Department of Computer Science and
>> Engineering,University of Moratuwa
>> Article Writer | MoraSpirit
>> Mobile: +94 777 603 866
>> Blog: http://thepseudocode.blogspot.com
>> E-Mail: [email protected]
>>
>
>
>
> --
> *A.Farasath Ahamed*
> Undergraduate  | Department of Computer Science and Engineering,University
> of Moratuwa
> Article Writer | MoraSpirit
> Mobile: +94 777 603 866
> Blog: http://thepseudocode.blogspot.com
> E-Mail: [email protected]
>



-- 
*A.Farasath Ahamed*
Undergraduate  | Department of Computer Science and Engineering,University
of Moratuwa
Article Writer | MoraSpirit
Mobile: +94 777 603 866
Blog: http://thepseudocode.blogspot.com
E-Mail: [email protected]
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to