How to create Restful web services using Spring Boot

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 Boot will take care of all the dependencies required to create Rest API.
Here are steps to create a simple Spring Restful web services using Spring Boot.

Spring Boot Rest API example:

Github Source code:

Project structure:

Spring Boot Rest Project Structure

Step 1:  Create a dynamic web project using maven in eclipse named “SpringBootRestAPIExample”.

Step 2:  Now change pom.xml as follows:
pom.xml

Step 3: Create a bean name “Country.java” in org.arpit.java2blog.springboot.bean.

Create controller

Step 4:  Create a controller named “CountryController.java” in package org.arpit.java2blog.springboot

@PathVariable: Used to inject values from the URL into a method parameter.This way you inject id in getCountryById method.

Spring application configuration:

Step 5: Create a package named “org.arpit.java2blog”
create a class named “SpringBootHelloWorldApplication.java”

We have just added @SpringBootApplication and it does all the work.
Let’s understand more about this annotation.
@SpringBootApplication is an annotation that adds all of the following:

@Configuration makes the class as a source of bean definitions for the application context.
@EnableAutoConfiguration enables Spring boot to add beans presents in classpath setting and various property setting.
Normally you would add @EnableWebMvc for a Spring MVC application, but Spring Boot adds it automatically when it sees spring-webmvc on the classpath.
This flags the application as a web application and activates key behaviors such as setting up a DispatcherServlet.
@ComponentScan tells Spring to look for other components, configurations, and services in the default package, allowing it to find the controllers.
If specific packages are not defined, scanning will occur from the package of the class that declares this annotation.

Step 6: It ‘s time to do maven build.

Right click on project -> Run as -> Maven build
Step 7: Provide goals as clean install (given below) and click on run.
 Spring Boot Rest Maven build
Step 8: Test your REST service under: “http://localhost:8080/countries”.

You will get following output:

Spring Boot Rest get All Countries

Step 9: Now pass country id as parameter to url.
“http://localhost:8080/country/2”.
Spring Boot Rest Country ID
That’s all about how to create restful web services using Spring boot. If you find any issues, please comment.

Add Comment