Creating a basic REST controller

In this article, we will learn how to create a basic REST controller using Spring Boot.

Spring Boot provides a powerful and easy-to-use framework for building RESTful APIs. It takes care of most of the boilerplate code and configuration, allowing you to focus on writing business logic.


Before getting started, make sure you have the following:

  • JDK 8 or higher installed
  • Maven or Gradle installed
  • Spring Boot CLI or Spring Boot Starter Project set up

Step 1: Set up a Spring Boot Project

First, let's set up a new Spring Boot project. You can use either the Spring Boot CLI or create a new project using Spring Initializer.

If you're using the Spring Boot CLI, open a terminal and run the following command to create a new project: spring init --name=my-rest-service --dependencies=web my-rest-service

If you prefer Spring Initializer, go to the Spring Initializer website and select the following dependencies:

  • Project: Maven or Gradle (whichever you prefer)
  • Language: Java
  • Spring Boot: [select the latest stable version]
  • Dependencies: Web

Once you have set up the project, import it into your favorite IDE.

Step 2: Create a Controller Class

Next, let's create a new Java class for our REST controller. In this example, we'll create a simple controller that handles GET requests.

Create a new file called in the src/main/java/com/example/myrestservice/controller directory (replace com.example.myrestservice with your own base package).

Add the following code to the file:

package com.example.myrestservice.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

public class UserController {

    public String getAllUsers() {
        return "This is a basic REST controller!";

In this code, we define a new REST controller class UserController and map it to the /users endpoint using the @RequestMapping annotation. The @RestController annotation indicates that this class is a REST controller.

We also define a method getAllUsers() and annotate it with @GetMapping to handle GET requests to the /users endpoint. In this example, we simply return a string as the response message.

Step 3: Run the Application

Finally, let's run the Spring Boot application and test our REST controller.

If you're using an IDE, you can run the application by right-clicking on the main class (typically MyRestServiceApplication) and selecting "Run" or "Debug".

Alternatively, you can use the following command in the terminal (make sure you are in the project root directory): mvn spring-boot:run

Once the application is running, open a web browser and navigate to http://localhost:8080/users. You should see the message "This is a basic REST controller!" displayed in your browser.

Congratulations! You have successfully created a basic REST controller using Spring Boot.


In this article, we have learned how to create a basic REST controller using Spring Boot. We covered the steps to set up a Spring Boot project, create a controller class, and handle GET requests. With Spring Boot's powerful features, building RESTful APIs becomes a breeze. Now you can start expanding your controller with additional endpoints and business logic to create a robust RESTful application.

noob to master © copyleft