JAX-RS @PathParm Web service Example

In this tutorial we are going to see how to pass parameter to RESTful web service via URL using JAX-RS @PathParam

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>

PathParamService

package com.ehowtonow.webservice;

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

@Path("/tutorial")
public class PathParamService {

 @GET
 @Path("{index}")
 public Response getTutorial(@PathParam("index") String index) {
  return Response
    .status(200)
    .entity("The Tutorial at Index " + index
      + " is RESTful webservice").build();

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

 }
}

In above class @PathParam used to get the value of URL parameter that is defined in @Path expression 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/1 – to access first web service api

http://localhost:8080/RestTutorials/rest/tutorials/wwww.ehowtonow.com/Java%20Tutorial/1 – to access second web service api with multiple path params


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. Download Excel file using JAX-RS RESTful Webservice
  2. JAX-RS @PathParm Web service Example
  3. JAX-RS Get HTTP Headers using @HeaderParam
  4. JAX-RS @POST using RESTful web service – Jersey 1.x
  5. JAX-RS @PATH for URI – Jersey
  6. JAX-RS to Produce JSON using Jackson – Jersey 1.x
  7. Download image using JAX-RS RESTful Webservice
  8. JAX-RS @FormParam Web service example
  9. JAX-RS Send List using QueryParam Annotation
  10. JAX-RS @MatrixParam Restful Webservice
  11. JAX-RS @QueryParam with @DefaultValue – Jersey
  12. Download PDF file using JAX-RS RESTful Webservice
  13. Restful Webservice HelloWorld Example Jersey 1.x
  14. JAX-RS get QueryParam using @Context UriInfo
  15. RESTful Web service to consume JSON and Produce XML – Jersey 1.x

Be the first to comment

Leave a Reply