Spring Restful web services CRUD example

In this post, we are going see Spring Restful web services CRUD example.

Web service Tutorial Content:

In previous post, we have already seen Spring Restful web services which returns json as response.In this post, we will extend same example and create Restful web services which will provide CRUD(Create, read, update and delete) operation example.If you want complete integration with hibernate and mysql, you can go through Spring Restful hibernate mysql 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:

Here are steps to create a Spring Restful web services  which will provide CRUD opertion.

1) Create a dynamic web project using maven in eclipse named “SpringRestfulWebServicesCRUDExample”

Maven dependencies

2) We need to add Jackson json utility in the classpath.

Spring will load Jackson2JsonMessageConverter into its application context automatically. Whenever you request resource as json with accept headers=”Accept=application/json”, then Jackson2JsonMessageConverter comes into picture and convert resource to json format.

Now change pom.xml as follows:
pom.xml

Spring application configuration:

3) Change web.xml as below:

4) create a xml file named springrest-servlet.xml in /WEB-INF/ folder.
Please change context:component-scan if you want to use different package for spring to search for controller.Please refer to spring mvc hello world example for more understanding.

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

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

Maven build in eclipse
8) Provide goals as clean install (given below) and click on run
Maven build in eclipse

Run the application

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

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 Spring REST service
URL :“http://localhost:8080/SpringRestfulWebServicesCRUDExample/countries”.

You will get following output:

Get operation in Spring Rest CRUD

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/SpringRestfulWebServicesCRUDExample/countries”.

Put operation in Spring Rest CRUD

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

Get operation in Spring Rest CRUD

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/SpringRestfulWebServicesCRUDExample/countries”

Get operation in Spring Rest CRUD

Use get method to check population of nepal.

Get operation in Spring Rest CRUD

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/SpringRestfulWebServicesCRUDExample/country/4”

Delete operation in Spring Rest CRUD

Use get method to check country list.

Get operation in Spring Rest CRUD

As you can see, we have deleted country with id 4 i.e. china

Project structure:


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


import_contacts

You may also like:


import_contacts

You may also like:

Related Posts

  • 29 April

    Spring boot rest example

    In this tutorial, we will see how to create Restful web services using Spring boot. There are not many differences between creating Rest API using Spring Rest JSON which we have already seen earlier. Spring Boot just makes easier to Rest API. You don’t have to provide any additional JSON dependency in the classpath. Spring […]

  • 14 September

    Spring Rest + Spring Security example

    In this post , we are going to apply Spring Security on Spring Rest example. Web services tutorial: Introduction to web services Web services interview questions SOAP web service introduction RESTful web service introduction Difference between SOAP and REST web services SOAP web service example in java using eclipse JAX-WS web service eclipse tutorial JAX-WS […]

  • 19 August

    Spring @RestController example

    In this post,  we are going to see another important annotation called @RestController. It is generally used while working with Spring restful Web services implementation. Spring MVC tutorial: Spring MVC hello world example Spring MVC Hibernate MySQL example Spring MVC interceptor example Spring MVC angularjs example Spring MVC @RequestMapping example Spring Component,Service, Repository and Controller […]

  • 17 August

    Spring Rest Hibernate example

    In previous post, we have already seen Spring Rest crud example . In this post, we will extend same example and integrate it with hibernate and mysql. 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 […]

  • 08 August

    Spring MVC @RequestMapping annotation example

    We have already seen Spring MVC hello world example. @RequestMapping is one of important annotation which you use in Spring MVC. Spring MVC tutorial: Spring MVC hello world example Spring MVC Hibernate MySQL example Spring MVC interceptor example Spring MVC angularjs example Spring MVC @RequestMapping example Spring Component,Service, Repository and Controller example Spring MVC @ModelAttribute annotation […]

  • 06 August

    Spring MVC angularjs example

    n this tutorial, we will see Spring MVC angularjs example. Spring MVC tutorial: Spring MVC hello world example Spring MVC Hibernate MySQL example Spring MVC interceptor example Spring MVC angularjs example Spring MVC @RequestMapping example Spring Component,Service, Repository and Controller example Spring MVC @ModelAttribute annotation example Spring MVC @RestController annotation example Spring MultiActionController Example Spring […]

Comments

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.