HTTP 消息转换
该模块包含用于通过 和 读取和写入 HTTP 请求和响应正文的接口。 实例用于客户端(例如,在 )和服务器端(例如,在 Spring MVC REST 控制器中)。spring-web
HttpMessageConverter
InputStream
OutputStream
HttpMessageConverter
RestClient
框架中提供了主媒体 (MIME) 类型的具体实现,默认情况下,它们在客户端和 server 端注册到 and(请参阅 配置消息转换器)。RestClient
RestTemplate
RequestMappingHandlerAdapter
的几种实现如下。
有关完整列表,请参阅 HttpMessageConverter
Javadoc。
对于所有转换器,都使用默认媒体类型,但您可以通过设置该属性来覆盖它。HttpMessageConverter
supportedMediaTypes
消息转换器 | 描述 |
---|---|
|
可以从 HTTP 请求和响应中读取和写入实例的实现。
默认情况下,此转换器支持所有文本媒体类型(),并使用 of . |
|
可以从 HTTP 请求和响应中读取和写入表单数据的实现。
默认情况下,此转换器读取和写入媒体类型。
表单数据从 .
转换器还可以写入(但不能读取)从 .
默认情况下,支持。
可以支持其他多部分子类型来写入表单数据。
有关更多详细信息,请参阅 javadoc。 |
|
可以从 HTTP 请求和响应中读取和写入字节数组的实现。
默认情况下,此转换器支持所有媒体类型 () 并使用 a of .
您可以通过设置属性并覆盖 来覆盖此属性。 |
|
可以使用 Spring 和包中的抽象来读取和写入 XML 的实现。
此转换器需要 and 才能使用。
您可以通过 constructor 或 bean 属性注入这些内容。
默认情况下,此转换器支持 和 。 |
|
可以使用 Jackson 的 .
您可以使用 Jackson 提供的注释根据需要自定义 JSON 映射。
当你需要进一步的控制时(对于需要为特定类型提供自定义 JSON 序列化器/反序列化器的情况),你可以通过属性注入自定义。
默认情况下,此转换器支持 .这需要 dependency。 |
|
一种可以使用 Jackson XML 扩展的 .
您可以根据需要通过使用 JAXB 或 Jackson 提供的注释来自定义 XML 映射。
当你需要进一步的控制时(对于需要为特定类型提供自定义 XML 序列化器/反序列化器的情况),你可以通过属性注入自定义。
默认情况下,此转换器支持 .这需要 dependency。 |
|
|
|
可以从 HTTP 请求和响应中读取和写入的实现。
仅支持 、 和 。
默认情况下,此转换器支持 和 。 |
|
可以使用 “Google Gson” 读取和写入 JSON 的实现。
这需要 dependency。 |
|
一种可以使用 Jakarta Json Bind API 读取和写入 JSON 的实现。
这需要依赖项和可用的实现。 |
|
一种可以读取和写入内容类型的二进制格式的 Protobuf 消息的实现。这需要 dependency。 |
|
一种可以在 Protobuf 消息中读取和写入 JSON 文档的实现。
这需要 dependency。 |