Skip to main content

Spring Data Rest web services for beginners - Step By Step Guide

This tutorial is designed for those who have not worked with the Spring Framework or rest web services before. I am keeping it simple and less verbose so that readers can easily follow the steps and start developing the restful web services using Spring Data Rest.

Spring Framework
is the trending and widely used J2EE frameworks. It has various modules for web development. In this tutorial, we will use the Spring Data Rest.

RESTful Web services
Representational State Transfer (REST)  is based on server-client architecture and uses the HTTP protocol(stateless protocol). CRUD operations can be easily mapped on HTTP methods

Create
POST
ReadGET
UpdatePUT
DeleteDelete


Prerequisites for this tutorial
  • Java 8 or later version
  • Eclipse
  • Maven
Let's start developing the RESTful web services

STEP 1
Open a new Maven Project in the eclipse, let's call it MyFirstRestApp. We will use the Spring Boot for this tutorial. Open the maven.xml file and add the following dependencies

STEP 2
Create the MyRestApplication.java file
@SpringBootApplication is handling all the configurations behind the screen. It is equivalent to the following three configurations
  1. @EnableAutoConfiguration
  2. @ComponentScan
  3. @Configuration
STEP 3
Now we will move to the Rest web services implementation. For simplicity, I am taking an example of Blog's posts. Create a BlogPostController.java file

  • @RestController tells the Spring framework that it is a RESTful web services resource. 
  • @RequestMapping("/blogPosts") routes every request to /blogPosts to this class
  • HTTP methods are routed to the respective operations using the @GetMapping,@PostMapping,@PutMapping and @DeleteMapping annotations.

STEP 4
Run the application as Java application from eclipse 

STEP 5
Now, let's test the application. We will use Postman ( a rest client) for this example. 
  • Test the GET method
  • Test the POST method

  • Test the PUT method

  • Test the Delete method


The full source code for this tutorial can be found at MyFirstRestApp .

You will find the following tutorial useful


I hope that you found this tutorial useful. Please leave your feedback in the comments box below.

Comments

Post a Comment

Popular posts from this blog

Eclipse - Server Tomcat v8.5 Server at localhost failed to start.

When I try to launch the tomcat from Eclipse, I encountered the following error Server Tomcat v8.5 Server at localhost failed to start. Solution Step 1  Delete the .snap file located at the following location     eclipse workspace Path\ .metadata\.plugins\org.eclipse.core.resources Step 2 Delete the  tmp0  folder from the following path      eclipse workspace Path \.metadata\.plugins\org.eclipse.wst.server.core Step 3  Delete the server from servers list Step 4  Remove already added Tomcat Server      i)  Click on Define a new Server     ii)  Select Server Runtime Environments     iii) Select the Tomcat Server and remove it as follows Remove Selected Server Step 5 Make sure that correct version of Server is configured in Project Properties Step 6 Restart the Eclipse IDE.

hibernate-release-5.4.4.Final - Required Jars

Introduction Hibernate (Object Relational Mapping framework) is an implementation of Java Persistence API (JPA) specification.   Required Jars for Hibernate 5.4.4 Following Jars resided inside the required folder are the mandatory jars required for Hibernate 5.4.4 antlr-2.7.7.jar byte-buddy-1.9.11.jar classmate-1.3.4.jar dom4j-2.1.1.jar FastInfoset-1.2.15.jar hibernate-commons-annotations-5.1.0.Final.jar hibernate-core-5.4.4.Final.jar istack-commons-runtime-3.0.7.jar jandex-2.0.5.Final.jar javassist-3.24.0-GA.jar javax.activation-api-1.2.0.jar javax.persistence-api-2.2.jar jaxb-api-2.3.1.jar jaxb-runtime-2.3.1.jar jboss-logging-3.3.2.Final.jar jboss-transaction-api_1.2_spec-1.1.1.Final.jar stax-ex-1.8.jar txw2-2.3.1.jar Hibernate 5.4.4 release is compatible with  Java 8 or 11  JPA 2.2 References https://hibernate.org/orm/releases/5.4/

spark-submit java.lang.NoClassDefFoundError: scala/runtime/java8/JFunction1$mcII$sp

Exception  Exception in thread "main" java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: scala/runtime/java8/JFunction1$mcII$sp         at SparkPi$.main(SparkPi.scala:14)         at SparkPi.main(SparkPi.scala)         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) Problem: It seems that you have compiled and generated your jar file with an upper version of the Scala compiler than the one spark is using. Solution Step 1 Run the following command from spark-installed-directory\bin spark-shell.cmd (or.sh) and note the Scala version, My Spark version was 2.4.3 and Scala version 2.11.12 Step 2 Change the scala version into your build.sbt to 2.11.12 (per your configuration). My build.sbt is name := "SparkPi Project" version := "1.0" scalaVersion := "...