GET methods can be used to handle read operations
POST methods can be used to create new resources
PUT methods can be used to update resources
DELETE methods can be used to remove resources from the server
II. The representation of data is crucial in REST. This is why Spring MVC allows us to evade View-based rendering completely by the use of @ResponseBody annotation and many HttpMessageConverter implementations. By this, a response can be sent directly to a client.
III. Spring version 4.0’s @RestController added in the controller class applies message conversations to all handler methods in the controller, preventing the need to annotate each method with the @ResponseBody annotation. This also makes our code much cleaner.
IV. Spring MVC also provides @RequestBody annotation, which uses HttpMethodConverter implementations to convert inbound HTTP data into Java objects passed into a controller’s handler method.
V. The Spring framework also provides a template class, the RestTemplate, which can consume REST resources. You can use this class to test your RESTful web service or develop REST clients.
https://dev.to/javinpaul/why-spring-mvc-is-best-for-creating-restful-web-services-in-java-358p