Configuring custom HttpMessageConverters
While we were building our RESTful web data service, we defined the controllers, repositories, and put some annotations on them; but nowhere did we do any kind of object translation from the Java entity beans to the HTTP data stream output. However, behind the scenes, Spring Boot automatically configured HttpMessageConverters
so as to translate our entity beans into a JSON representation written to HTTP response using the Jackson
library. When multiple converters are available, the most applicable one gets selected based on the message object class and the requested content type.
The purpose of HttpMessageConverters
is to translate various object types into their corresponding HTTP output formats. A converter can either support a range of multiple data types or multiple output formats, or a combination of both. For example, MappingJackson2HttpMessageConverter
can translate any Java object into application/json
, whereas ProtobufHttpMessageConverter
...