Difference between the annotations @GetMapping and @RequestMapping(method = RequestMethod.GET)

We Are Going To Discuss About Difference between the annotations @GetMapping and @RequestMapping(method = RequestMethod.GET). So lets Start this Java Article.

Difference between the annotations @GetMapping and @RequestMapping(method = RequestMethod.GET)

  1. Difference between the annotations @GetMapping and @RequestMapping(method = RequestMethod.GET)

    @GetMapping is a composed annotation that acts as a shortcut for @RequestMapping(method = RequestMethod.GET).

  2. Difference between the annotations @GetMapping and @RequestMapping(method = RequestMethod.GET)

    @GetMapping is a composed annotation that acts as a shortcut for @RequestMapping(method = RequestMethod.GET).

Solution 1

@GetMapping is a composed annotation that acts as a shortcut for @RequestMapping(method = RequestMethod.GET).

@GetMapping is the newer annotaion.
It supports consumes

Consume options are :

consumes = “text/plain”
consumes = {“text/plain”, “application/*”}

For Further details see:
GetMapping Annotation

or read:
request mapping variants

RequestMapping supports consumes as well

GetMapping we can apply only on method level and RequestMapping annotation we can apply on class level and as well as on method level

Original Author dhS Of This Content

Solution 2

@RequestMapping is a class level

@GetMapping is a method-level

With sprint Spring 4.3. and up things have changed. Now you can use @GetMapping on the method that will handle the http request. The class-level @RequestMapping specification is refined with the (method-level)@GetMapping annotation

Here is an example:

@Slf4j
@Controller
@RequestMapping("/orders")/* The @Request-Mapping annotation, when applied
                            at the class level, specifies the kind of requests 
                            that this controller handles*/  

public class OrderController {

@GetMapping("/current")/*@GetMapping paired with the classlevel
                        @RequestMapping, specifies that when an 
                        HTTP GET request is received for /order, 
                        orderForm() will be called to handle the request..*/

public String orderForm(Model model) {

model.addAttribute("order", new Order());

return "orderForm";
}
}

Prior to Spring 4.3, it was @RequestMapping(method=RequestMethod.GET)

Extra reading from a book authored by Craig Walls
Extra reading from a book authored by Craig Walls

Original Author z atef Of This Content

Solution 3

Short answer:

There is no difference in semantic.

Specifically, @GetMapping is a composed annotation that acts as a
shortcut
for @RequestMapping(method = RequestMethod.GET).

Further reading:

RequestMapping can be used at class level:

This annotation can be used both at the class and at the method level.
In most cases, at the method level applications will prefer to use one
of the HTTP method specific variants @GetMapping, @PostMapping,
@PutMapping, @DeleteMapping, or @PatchMapping.

while GetMapping only applies to method:

Annotation for mapping HTTP GET requests onto specific handler
methods.


https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/GetMapping.html

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/RequestMapping.html

Original Author ZhaoGang Of This Content

Solution 4

As you can see here:

Specifically, @GetMapping is a composed annotation that acts as a
shortcut for @RequestMapping(method = RequestMethod.GET).

Difference between @GetMapping & @RequestMapping

@GetMapping supports the consumes attribute like
@RequestMapping.

Original Author Deroude Of This Content

Conclusion

So This is all About This Tutorial. Hope This Tutorial Helped You. Thank You.

Also Read,

Siddharth

I am an Information Technology Engineer. I have Completed my MCA And I have 4 Year Plus Experience, I am a web developer with knowledge of multiple back-end platforms Like PHP, Node.js, Python and frontend JavaScript frameworks Like Angular, React, and Vue.

Leave a Comment