JAX-RS QueryParam – Jersey

In this tutorial we are going to see about how to pass parameters to RESTful web service via URL using JAX-RS @QueryParam.

Create maven web application project and add Jersey dependency in pom.xml. Find Jersey 2.x maven dependency configuration below. If you are new to maven refer our maven tutorials.

Jersey 2.x dependency in pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.ehowtonow</groupId>
  <artifactId>RestTutorials</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>RestTutorials Maven Webapp</name>
  <url>http://maven.apache.org</url>
   <properties>
        <jersey2.version>2.19</jersey2.version>
        <jaxrs.version>2.0.1</jaxrs.version>
    </properties>
  <dependencies>
      <!-- JAX-RS -->
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
            <version>${jaxrs.version}</version>
        </dependency>
        <!-- Jersey 2.19 -->
        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet</artifactId>
            <version>${jersey2.version}</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.core</groupId>
            <artifactId>jersey-server</artifactId>
            <version>${jersey2.version}</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.core</groupId>
            <artifactId>jersey-client</artifactId>
            <version>${jersey2.version}</version>
        </dependency>
  </dependencies>
  <build>
    <finalName>RestTutorials</finalName>
  </build>
</project>

QueryParamService .java

package com.ehowtonow.webservice;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Response;

@Path("/tutorials")
public class QueryParamService {

 @GET
 @Path("/java-tutorial")
 public Response getTutorial(@QueryParam("site") String site,
   @QueryParam("tutorial") String tutorial,
   @QueryParam("rank") int rank) {
  return Response
    .status(200)
    .entity("Web Site : " + site + "  Tutorial : " + tutorial
      + " Rank : " + rank).build();
 }
}


In above class JAX-RS @QueryParam annotation used to get the value of URL query parameter into Java Class.

Configure Jersey 2.x Servlet dispatcher

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
	<display-name>Restful Webservice Example</display-name>
	<servlet>
		<servlet-name>jersey-serlvet</servlet-name>
		<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
        <init-param>
             <param-name>jersey.config.server.provider.packages</param-name>
			<param-value>com.ehowtonow.webservice</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>jersey-serlvet</servlet-name>
		<url-pattern>/rest/*</url-pattern>
	</servlet-mapping>
</web-app>

Now you can run the service and access the service by calling the following URL

http://localhost:8080/RestTutorials/rest/tutorials/java-tutorial?site=www.ehowtonow.com&tutorial=RESTful%20WebService&rank=1

In above URL, the query parameter site=www.ehowtonow.com is access by @QueryParam(“site”) annotation. If you are using query param two times it will converted into list for example tutorial=java&tutorial=stuts will be converted into java.util.List. Checkout the send List to web service using QueryParam Annotation example


Ask your questions in eHowToNow Forum

Post your technical, non-technical doubts, questions in our site. Get answer as soon as possible, meanwhile you can help others by answering, unanswered questions.
To Ask new Question : Ask Question
Check our existing discussions : Questions & Answers

  1. File Upload using JAX-RS RESTful Webservice (Jersey 2.x)
  2. JAX-RS @QueryParam with @DefaultValue – Jersey
  3. Download Excel file using JAX-RS RESTful Webservice
  4. JAX-RS @GET RESTful webservice
  5. JAX-RS Web Service to produce XML using JAXB
  6. Restful Webservice HelloWorld Jersey 2.x Example
  7. RESTful Web service to consume JSON and Produce XML – Jersey 1.x
  8. JAX-RS Get HTTP Headers using @Context
  9. Restful Webservice HelloWorld Example Jersey 1.x
  10. Download PDF file using JAX-RS RESTful Webservice
  11. JAX-RS @MatrixParam Restful Webservice
  12. Download Text file using JAX-RS RESTful Webservice
  13. Download image using JAX-RS RESTful Webservice
  14. JAX-RS Get HTTP Headers using @HeaderParam
  15. JAX-RS get QueryParam using @Context UriInfo

Be the first to comment

Leave a Reply