🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (178K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
In this short article, we will learn how to use Spring Boot @ResponseBody annotation in a controller to write data to the body of the response object. We create a Spring Boot RESTful application to demonstrate the annotation.
Spring @ResponseBody
@ResponseBody is a Spring annotation which binds a method return value to the web response body. It is not interpreted as a view name. It uses HTTP Message converters to convert the return value to HTTP response body, based on the content-type in the request HTTP header.
Here is a sample code snippet:
@ResponseBody @GetMapping(path = "/users") public List<User> home() { return Arrays.asList(new User(1, "Ramesh"), new User(2, "Prabhas"), new User(3, "John"), new User(4, "Tony"), new User(4, "Tom")); } Spring Boot @ResponseBody Annotation Example
The following example creates a Spring Boot web application that returns JSON data to the client.
Development Steps
- Create a Spring Boot Application
- Project Structure
- Pom Dependencies
- Java Bean - User.java
- Create REST Controller - UserController.java
- Run Application - Application.java
1. Create a Spring Boot Application
There are many ways to create a Spring Boot application. You can refer below articles to create a Spring Boot application.
>> Create Spring Boot Project With Spring Initializer
>> Create Spring Boot Project in Spring Tool Suite [STS]
>> Create Spring Boot Project in Spring Tool Suite [STS]
Refer project structure or packaging structure in the next step.
3. Pom Dependencies
This is the Maven build file. The spring-boot-starter-web is a starter for building web applications using Spring MVC. It uses Tomcat as the default embedded container.
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.RELEASE</version> <relativePath /> <!-- lookup parent from repository --> </parent> <groupId>net.javaguides.springboot</groupId> <artifactId>springboot-annotations-demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springboot-annotations-demo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> 4. Java Bean - User.java
Let's create a representation class which we use to return in JSON format:
package net.javaguides.springboot; public class User { private Integer id; private String name; public User() {} public User(Integer id, String name) { this.id = id; this.name = name; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } 5. Create REST Controller - UserController.java
Let's create a simple UserController with users rest API which returns a list of users in JSON format.
package net.javaguides.springboot; import java.util.Arrays; import java.util.List; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class UserController { @ResponseBody @GetMapping(path = "/users") public List < User > home() { return Arrays.asList(new User(1, "Ramesh"), new User(2, "Prabhas"), new User(3, "John"), new User(4, "Tony"), new User(4, "Tom")); } } 6. Run Application - Application.java
Application is the entry point that sets up the Spring Boot application. The @SpringBootApplication annotation enables auto-configuration and component scanning.
Let's run this Spring boot application from either Eclipse IDE by right click - Run As - Java Application.
Or you can use the below maven command to run:
mvn spring-boot:run 7. Testing from Browser
Hit this URL in a browser - http://localhost:8080/users
Comments
Post a Comment
Leave Comment