|
|
|
[[mvc-view-jackson]]
|
|
|
|
= Jackson
|
|
|
|
|
|
|
|
[.small]#xref:web/webflux-view.adoc#webflux-view-httpmessagewriter[See equivalent in the Reactive stack]#
|
|
|
|
|
|
|
|
Spring offers support for the Jackson JSON library.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[[mvc-view-json-mapping]]
|
|
|
|
== Jackson-based JSON MVC Views
|
|
|
|
[.small]#xref:web/webflux-view.adoc#webflux-view-httpmessagewriter[See equivalent in the Reactive stack]#
|
|
|
|
|
|
|
|
The `MappingJackson2JsonView` uses the Jackson library's `ObjectMapper` to render the response
|
|
|
|
content as JSON. By default, the entire contents of the model map (with the exception of
|
|
|
|
framework-specific classes) are encoded as JSON. For cases where the contents of the
|
|
|
|
map need to be filtered, you can specify a specific set of model attributes to encode
|
|
|
|
by using the `modelKeys` property. You can also use the `extractValueFromSingleKeyModel`
|
|
|
|
property to have the value in single-key models extracted and serialized directly rather
|
|
|
|
than as a map of model attributes.
|
|
|
|
|
|
|
|
You can customize JSON mapping as needed by using Jackson's provided
|
|
|
|
annotations. When you need further control, you can inject a custom `ObjectMapper`
|
|
|
|
through the `ObjectMapper` property, for cases where you need to provide custom JSON
|
|
|
|
serializers and deserializers for specific types.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[[mvc-view-xml-mapping]]
|
|
|
|
== Jackson-based XML Views
|
|
|
|
[.small]#xref:web/webflux-view.adoc#webflux-view-httpmessagewriter[See equivalent in the Reactive stack]#
|
|
|
|
|
|
|
|
`MappingJackson2XmlView` uses the
|
|
|
|
https://github.com/FasterXML/jackson-dataformat-xml[Jackson XML extension's] `XmlMapper`
|
|
|
|
to render the response content as XML. If the model contains multiple entries, you should
|
|
|
|
explicitly set the object to be serialized by using the `modelKey` bean property. If the
|
|
|
|
model contains a single entry, it is serialized automatically.
|
|
|
|
|
|
|
|
You can customized XML mapping as needed by using JAXB or Jackson's provided
|
|
|
|
annotations. When you need further control, you can inject a custom `XmlMapper`
|
|
|
|
through the `ObjectMapper` property, for cases where custom XML
|
|
|
|
you need to provide serializers and deserializers for specific types.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|