对于最新稳定版本,请使用 Spring Framework 7.0.6spring-doc.cadn.net.cn

Jackson

基于 Jackson 的 JSON MVC 视图

MappingJackson2JsonView 使用 Jackson 库的 ObjectMapper 将响应内容渲染为 JSON。默认情况下,模型映射(model map)中的全部内容(框架特定的类除外)都会被编码为 JSON。当需要对映射中的内容进行过滤时,可以通过 modelKeys 属性指定要编码的一组特定模型属性。此外,还可以使用 extractValueFromSingleKeyModel 属性,使单键模型中的值被直接提取并序列化,而不是作为模型属性的映射进行序列化。spring-doc.cadn.net.cn

你可以使用 Jackson 提供的注解按需自定义 JSON 映射。当你需要更精细的控制时,可以通过 ObjectMapper 属性注入一个自定义的 ObjectMapper,以便为特定类型提供自定义的 JSON 序列化器和反序列化器。spring-doc.cadn.net.cn

基于 Jackson 的 XML 视图

MappingJackson2XmlView 使用 Jackson XML 扩展XmlMapper 将响应内容渲染为 XML。如果模型包含多个条目,您应通过使用 modelKey bean 属性显式指定要序列化的对象。如果模型仅包含一个条目,则会自动进行序列化。spring-doc.cadn.net.cn

你可以根据需要使用 JAXB 或 Jackson 提供的注解来自定义 XML 映射。当你需要更精细的控制时,可以通过 XmlMapper 属性注入一个自定义的 ObjectMapper,以便为特定类型提供自定义的序列化器和反序列化器。spring-doc.cadn.net.cn