users@jersey.java.net

Re: [nbj2ee] RESTful web service

From: Ayub Khan <Ayub.Khan_at_Sun.COM>
Date: Mon, 21 Apr 2008 14:42:28 -0700

Hi Motaz,

Please try this attached Resource Class. It contains following method
that does the calculator function and returns an xml representation of
the result.

    @GET
    @ProduceMime("application/xml")
    public String sum(@QueryParam ("x") Integer x, @QueryParam ("y")
Integer y) {
        return "<result type=\"int\">"+(x+y)+"</result>";
    }

If you want to know more on tools for building RESTful Web Services,
here is the link
http://www.netbeans.org/kb/60/websvc/rest.html

Thanks
Ayub

Motaz K. Saad wrote:
> Hello,
>
> I am facing a problem implementing simple calculator using jersey
> (JAX-RS) https://jersey.dev.java.net/use/getting-started.html
> Could any one help me out how to define 2 integer parameter and
> integer return value for GET http method.
>
> Thanks in advance,
> --
> Motaz K. Saad
>



/*
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 *
 * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
 *
 * The contents of this file are subject to the terms of either the GNU
 * General Public License Version 2 only ("GPL") or the Common
 * Development and Distribution License("CDDL") (collectively, the
 * "License"). You may not use this file except in compliance with the
 * License. You can obtain a copy of the License at
 * http://www.netbeans.org/cddl-gplv2.html
 * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
 * specific language governing permissions and limitations under the
 * License. When distributing the software, include this License Header
 * Notice in each file and include the License file at
 * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the GPL Version 2 section of the License file that
 * accompanied this code. If applicable, add the following below the
 * License Header, with the fields enclosed by brackets [] replaced by
 * your own identifying information:
 * "Portions Copyrighted [year] [name of copyright owner]"
 *
 * Contributor(s):
 *
 * The Original Software is NetBeans. The Initial Developer of the Original
 * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
 * Microsystems, Inc. All Rights Reserved.
 *
 * If you wish your version of this file to be governed by only the CDDL
 * or only the GPL Version 2, indicate your decision by adding
 * "[Contributor] elects to include this software in this distribution
 * under the [CDDL or GPL Version 2] license." If you do not indicate a
 * single choice of license, a recipient has the option to distribute
 * your version of this file under either the CDDL, the GPL Version 2 or
 * to extend the choice of license to its licensees as provided above.
 * However, if you add GPL Version 2 code and therefore, elected the GPL
 * Version 2 license, then the option applies only if the new code is
 * made subject to such option by the copyright holder.
 */

package helloworld;

import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.PUT;
import javax.ws.rs.ProduceMime;
import javax.ws.rs.ConsumeMime;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.UriInfo;

/**
 * REST Web Service
 *
 * @author __USER__
 */

@Path("/calc")
public class CalculatorResource {
    @Context
    private UriInfo context;
    
    /** Creates a new instance of HelloWorldResource */
    public CalculatorResource() {
    }
    /**
     * Retrieves representation of an instance of helloworld.HelloWorldResource
     * @return an instance of java.lang.String
     */
    @GET
    @ProduceMime("application/xml")
    public String sum(@QueryParam ("x") Integer x, @QueryParam ("y") Integer y) {
        return "<result type=\"int\">"+(x+y)+"</result>";
    }

    /**
     * PUT method for updating or creating an instance of HelloWorldResource
     * @param content representation for the resource
     * @return an HTTP response with content of the updated or created resource.
     */
    @PUT
    @ConsumeMime("application/xml")
    public void putXml(String content) {
    }
}