Spring Boot for Microservices: Communication
In this lesson, we'll look at how Spring Boot fulfills the communication requirement.
We'll cover the following
The suitability of Spring Boot for the implementation of microservices can be decided according to the criteria of this lesson of this chapter.
Communication #
For communication, Spring Boot supports REST, the previous listing shows. The listing uses the Spring MVC API.
T H E S P R I N G M V C A P I
The Spring MVC framework resides pretty well with REST and provides the necessary API support to implement it seamlessly, with little effort.
The importance of SpringMVC in RESTful web services #
I. In Spring MVC, a controller handles requests for all the HTTP methods. This serves as a backbone for RESTful web services.
Example:
GET
methods can be used to handle read operationsPOST
methods can be used to create new resourcesPUT
methods can be used to update resourcesDELETE
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.
These were some of the important features of the Spring MVC framework which assist in developing RESTful web services.