0
0
SpringbootConceptBeginner · 3 min read

@RequestMapping in Spring: Definition, Usage, and Examples

@RequestMapping is a Spring annotation used to map web requests to specific handler methods or classes in a controller. It defines the URL patterns and HTTP methods that a method or class should respond to in a Spring MVC application.
⚙️

How It Works

@RequestMapping acts like a signpost in a web application. Imagine you have a restaurant with many doors, and each door leads to a different service like ordering food or asking for the bill. @RequestMapping tells Spring which door (URL) should lead to which service (method in your code).

When a user visits a URL or sends a request, Spring looks for a matching @RequestMapping annotation on a controller method or class. If it finds one, it runs that method to handle the request and send back a response.

You can specify the URL path, HTTP method (GET, POST, etc.), and other details inside @RequestMapping. This makes it flexible to handle different types of web requests in one place.

💻

Example

This example shows a simple Spring controller with @RequestMapping mapping the URL /hello to a method that returns a greeting message.

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

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String sayHello() {
        return "Hello, Spring!";
    }
}
Output
When you visit http://localhost:8080/hello in your browser, the page will display: Hello, Spring!
🎯

When to Use

Use @RequestMapping when you want to connect a web URL to a method in your Spring controller. It is useful for handling different web pages or API endpoints in your application.

For example, use it to:

  • Show a homepage or user profile page
  • Handle form submissions or API calls
  • Respond to different HTTP methods like GET for fetching data or POST for sending data

It helps organize your web app by clearly defining which URLs trigger which code.

Key Points

  • @RequestMapping maps URLs and HTTP methods to controller methods.
  • It can be applied at class level to set a base path and at method level for specific endpoints.
  • Supports multiple HTTP methods like GET, POST, PUT, DELETE.
  • Helps build RESTful web services and web applications.
  • Since Spring 4.3, more specific annotations like @GetMapping and @PostMapping are recommended for clarity but @RequestMapping is still widely used.

Key Takeaways

@RequestMapping connects web URLs to controller methods in Spring.
It defines which HTTP methods and paths a method should respond to.
Use it to organize how your app handles different web requests.
More specific annotations exist but @RequestMapping remains useful.
It is essential for building web apps and REST APIs with Spring MVC.