提供的 MessageConverters

如前所述,该框架已经提供了MessageConverters来处理最常见的用例。以下列表介绍了提供的MessageConverters,按优先级顺序(第一个MessageConverter使用有效的方法):spring-doc.cadn.net.cn

  1. JsonMessageConverter:顾名思义,它支持转换Messageto/from POJO 适用于以下情况contentTypeapplication/json(默认)。spring-doc.cadn.net.cn

  2. ByteArrayMessageConverter:支持转换Messagebyte[]byte[]适用于以下情况contentTypeapplication/octet-stream. 它本质上是一个直通,主要是为了向后兼容性而存在的。spring-doc.cadn.net.cn

  3. ObjectStringMessageConverter:支持将任何类型转换为String什么时候contentTypetext/plain. 它调用 Object 的toString()方法,或者,如果有效负载是byte[],新的String(byte[]).spring-doc.cadn.net.cn

如果找不到合适的转换器,框架会抛出异常。发生这种情况时,您应该检查您的代码和配置,并确保您没有遗漏任何内容(即,确保您提供了contentType通过使用绑定或标头)。但是,您很可能发现了一些不常见的情况(例如自定义contentType也许)和当前提供的堆栈MessageConverters不知道如何转换。如果是这种情况,您可以添加自定义MessageConverter. 请参阅用户定义的消息转换器spring-doc.cadn.net.cn