Hi Farazath, You can get idea about how to develop a REST API using JAX-RS by referringu to WSO2 application server JAX-RS samples. I suggest you to look at the source code relating to [1] sample. Download WSO2 Appication Server [2] and browse to * wso2as-5.2.1/samples/Jaxws-Jaxrs/jaxrs_starbucks_service/src/main/java/demo/jaxrs/server.*
These source files will give you a good idea on how to build a REST API using JAX-RS. Hope this will help you. cheers, [1] https://docs.wso2.com/display/AS520/JAX-RS+Advanced [2] http://wso2.com/products/application-server/ On Sat, Jun 20, 2015 at 6:51 PM, Farazath Ahamed <[email protected]> wrote: > 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 > > -- Viraj Senevirathne Software Engineer; WSO2, Inc. Mobile : +94 71 818 4742 <%2B94%20%280%29%20773%20451194> Email : [email protected] <[email protected]>
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
