You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
2.0 KiB
46 lines
2.0 KiB
[[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. |
|
|
|
|
|
|
|
|
|
|