当我们创建RESTful的web数据服务时,我们声明了controllers,repositories和写了注释。但是,无论我们处理任何对象,我们最终都要将对象转换为HTTP的数据,以输出流输出。然而,在我们的应用场景之下,Spring Boot自动配置HttpMessageConverters去转换我们的实体类到JSON,这中间使用了Jackson包。最后以JSON格式的数据响应一个HTTP的请求。
HttpMessageConverters的目的转换不同类型的对象到它们请求HTTP的输出流格式。一个转换器提供了一系列的多数据类型或输出格式,或者两者都有。例如,MappingJackson2HttpMessageConverter可以转换Java对象到application/json,然而,ProtobufHttpMesageConverter 可以仅仅操作com.goole.protobuf.Message的实例,但是它可以写出为application/json,application/xml,text/plain,或applicaton/x-protobuf的格式。HttpMessageConverters提供不仅仅是输出到HTTP流,当然也可以是HTTP的请求到Java对象。
2.5.1代码实现
1.让我们在WebConfiguration类中加入ByteArrayHttpMessageConverer作为@Bean.
@Bean |