Steps to create REST Webservice with Jersey example:
1. Create Dynamic Web Project in Eclipse
2. Below is the project structure.
3. Download and copy Jersey [jersey-bundle-1.17.1.jar] and asm [asm-3.3.1.jar] to /RESTfulExample/WebContent/WEB-INF/lib
4. Create a REST Servlet service in the below folder structure.
5. Jersey high-level definition of some of the overview:
Below is the
HelloWorldService.java content copy
@Path -> Defines the Servlet name through the "Path" annotation
@GET ->
Defines the HTTP Method
@Path("/{param}") - Defines the Path Param in the URI
@Produces(MediaType.TEXT_PLAIN) - In simple terms output type
package main.java.com.rest;
import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
@Path("/hello")
public class HelloWorldService {
@GET
@Path("/{param}")
@Produces(MediaType.TEXT_PLAIN)
public Response getMsg(@PathParam("param") String msg) {
String output = "Jersey say : " + msg;
System.out.println("Welcome to Jersey Apache tomcat---->"+output);
return Response.status(200).entity(output).build();
}
@GET
@Produces(MediaType.TEXT_PLAIN)
public Response getMsg() {
String output = "Jersey say : " + "Hanuman";
System.out.println("Welcome to Jersey Apache tomcat---->");
return Response.status(200).entity(output).build();
}
@POST
public void postMsg(@FormParam("name") String name) {
System.out.println("At post method---> " + name);
}
}
6. Build the project from Eclipse through
Project -> Build Project options
7. Right click on Project Name and select
"Export".
8. Click on
'Next' button
9. Select
'Web Project' and specify the
'Destination' where the WAR file to be saved.
For simplicity, I have copied to
tomcat/webapps location
10. Test the REST webservice through
chrome browser
- POSTMAN plugin and click on
SEND button.
Method: GET
11. To test the URI through Jersey REST client or programmatically below are steps :
a) Copy the libs to jar files below project structure and add to java build
b) Below is the Java file for testing the URI
package com.rest.junit;
import java.net.URI;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriBuilder;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;
public class JTest {
public static void main(String[] args) {
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource service = client.resource(getBaseURI());
// Get plain text
System.out.println(service.path("rest").path("hello").accept(MediaType.TEXT_PLAIN).get(String.class));
// Get XML
System.out.println( service.path("rest").path("hello").path("RamaSita_Hanuman").accept(MediaType.TEXT_PLAIN).get(String.class));
}
private static URI getBaseURI() {
return UriBuilder.fromUri("http://localhost:8080/RESTfulExample").build();
}
}
12.Select the Java file and click on 'Run As' and select 'Java Application.