RESTful web services JAXRS CRUD example using jersey

This post is in continuation with web service tutorial (Part -8).

In previous post, we have already seen simple Restful web services(JAXWS)  which returns json as response.In this post, we will extend same example and create Restful web services(JAXWS) using jersey which will provide CRUD(Create, read, update and delete) operation example.

We will use following annotations for CRUD operation.

Method
Description
Get
It is used to read resource
Post
It is used to create new resource.
It is not idempotent method
Put
It is generally used to update resource.It is idempotent method
Delete
It is used to delete resource

Idempotent means result of multiple successful request will not change state of resource after initial application
For example :
Delete is idempotent method because when you first time use delete, it will delete the resource (initial application) but after that, all other request will have no result because resource is already deleted.

Post is not idempotent method because when you use post to create resource , it will keep creating resource for each new request, so result of multiple successful request will not be same.

Source code:

click to begin
20KB .zip

Here are steps to create a simple Restful web services(JAXWS)  using jersey which will provide CRUD opertion.
1) Create a dynamic web project using maven in eclipse named “JAXRSJsonCRUDExample”

Maven dependencies

2) We need to add jersey jars utility in the classpath.

Jersey internally uses Jackson for Json Handling, so it will be used to marshal pojo objects to JSON.

Now create pom.xml as follows:
pom.xml

Application configuration:

3) create web.xml as below:

Please change initParam “com.sun.jersey.config.property.package” property to provide correct controller package name if you are not using same package.

Create bean class

4) Create a bean name “Country.java” in org.arpit.java2blog.bean.

Create Controller

5) Create a controller named “CountryController.java” in package org.arpit.java2blog.controller

@Path(/your_path_at_class_level) : Sets the path to base URL + /your_path_at_class_level. The base URL is based on your application name, the servlet and the URL pattern from the web.xml” configuration file.

@Path(/your_path_at_method_level): Sets path to base URL + /your_path_at_class_level+ /your_path_at_method_level

@Produces(MediaType.APPLICATION_JSON[, more-types ]): @Produces defines which MIME type is delivered by a method annotated with @GET. In the example text (“text/json”) is produced.

Create Service class

6) Create a class CountryService.java in package org.arpit.java2blog.service
It is just a helper class which should be replaced by database implementation. It is not very well written class, it is just used for demonstration.

7) It ‘s time to do maven build.

Right click on project -> Run as -> Maven build
Jersey maven build

8) Provide goals as clean install (given below) and click on run

Jersey maven clean install

Run the application

9) Right click on project -> run as -> run on server
Select apache tomcat and click on finish

Running Project

10) We will test this application in  postman , UI based client for testing restful web applications. It is chrome plugin. Launch postman. If you want java based client, then you can also use how to send get or post request in java.

Get method

11) Test your get method REST service
URL :“http://localhost:8080/JAXRSJsonCRUDExample/rest/countries”.

You will get following output:

Get all countries

Post method

12) Post method is used to create new resource. Here we are adding new Country England to country list, so you can see we have used new country json in post body.
URL: “http://localhost:8080/JAXRSJsonCRUDExample/rest/countries”.

Post method

Use get method to check if above country have been added to country list.

Post method result

Put Method

13) Put method is used to update resource. Here will update population of nepal using put method.
We will update country json in body of request.
URL : “http://localhost:8080/JAXRSJsonCRUDExample/rest/countries”
Put method
Use get method to check population of nepal.
Put method result

Delete method

14) Delete method is used to delete resource.We will pass id of country which needs to be deleted as PathParam. We are going delete id:4 i.e. china to demonstrate delete method.

URL : “http://localhost:8080/JAXRSJsonCRUDExample/rest/countries/4”
Delete method
Use get method to check country list.
Delete method result
As you can see, we have deleted country with id 4 i.e. china

Project structure:

Project Structure CRUD

We are done with Restful web services json CRUD example using jersey. If you are still facing any issue, please comment.


import_contacts

You may also like:


import_contacts

You may also like:

Related Posts

  • 04 August

    Spring Restful web services xml example

    Table of ContentsWeb service Tutorial Content:Spring application configuration:Create bean classCreate controllerRun the application This post is in continuation with web service tutorial (Part -10). In this tutorial,we are going to see Spring Restful web services xml example. Web service Tutorial Content: Introduction to web services Web services interview questions SOAP web service introduction RESTful web service […]

  • 26 June

    Difference between SOAP and REST web services in java

    We have already seen SOAP web services and RESTful web services in detail before. In this post, we are going to see differences between SOAP and REST web services. SOAP vs REST web services Parameter SOAP REST Acronym SOAP stands for simple object access protocol REST stands for REpresentational State Transfer Protocol vs Architectural style […]

  • Web services interview questions
    24 June

    Top 20 Web services interview questions

    Web services interview questions are most asked questions if you are applying for software developer role. In this post, we will see multiple web services interview questions. 1. What are web services? Web services are ways of communication between two application over network. It allows you to expose business logic using API. For example: Lets […]

  • Restful web services interview questions
    22 June

    Restful web services interview questions

    Restful web services are very popular now a days because it is very simple to implement and less time consuming. In this post, we are going to see restful web services interview questions with answers. 1. What is REST? REST is an architectural style which was brought in by Roy Fielding in 2000 in his […]

  • 15 April

    Spring Restful web services CRUD example

    Table of ContentsWeb service Tutorial Content:Source code:Maven dependenciesSpring application configuration:Create bean classCreate ControllerCreate Service classRun the applicationGet methodPost methodPut MethodDelete methodProject structure: In this post, we are going see Spring Restful web services CRUD example. Web service Tutorial Content: Introduction to web services Web services interview questions SOAP web service introduction RESTful web service introduction Difference […]

  • 28 March

    AngularJS Restful web service example using $http

    Table of ContentsMaven dependenciesApplication configuration:Create bean classCreate ControllerCreate Service classAngularJS viewRun the applicationProject structure:AngularJS tutorial: This post is in continuation with AngularJS web services tutorial Introduction to web services Web services interview questions SOAP web service introduction RESTful web service introduction SOAP web service example in java using eclipse JAX-WS web service eclipse tutorial JAX-WS […]

Comments

  1. The best article till date for me for understanding Restful CRUD operations using Jersey implementation. Hats off to you!! Thank you.

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe to our newletter

Get quality tutorials to your inbox. Subscribe now.