Commit 221ff8d6 authored by Lars Grefer's avatar Lars Grefer Committed by Stephane Nicoll

Update instructions on how to use JAXB as XML renderer

See gh-16005
parent 53326695
...@@ -1154,9 +1154,15 @@ tend to send accept headers that prefer XML. ...@@ -1154,9 +1154,15 @@ tend to send accept headers that prefer XML.
[[howto-write-an-xml-rest-service]] [[howto-write-an-xml-rest-service]]
=== Write an XML REST Service === Write an XML REST Service
If you have the Jackson XML extension (`jackson-dataformat-xml`) on the classpath, you If you have the Jackson XML extension (`jackson-dataformat-xml`) or JAXB on the classpath, you
can use it to render XML responses. The previous example that we used for JSON would can use it to render XML responses. The previous example that we used for JSON would
work. To use the Jackson XML renderer, add the following dependency to your project: work.
NOTE: To get the server to render XML instead of JSON, you might have to send an
`Accept: text/xml` header (or use a browser).
==== Jackson XML
To use the Jackson XML renderer, add the following dependency to your project:
[source,xml,indent=0,subs="verbatim,quotes,attributes"] [source,xml,indent=0,subs="verbatim,quotes,attributes"]
---- ----
...@@ -1166,8 +1172,9 @@ work. To use the Jackson XML renderer, add the following dependency to your proj ...@@ -1166,8 +1172,9 @@ work. To use the Jackson XML renderer, add the following dependency to your proj
</dependency> </dependency>
---- ----
If Jackson's XML extension is not available, JAXB (provided by default in the JDK) is ==== JAXB
used, with the additional requirement of having `MyThing` annotated as If Jackson's XML extension is not available, JAXB is tried next,
with the additional requirement of having `MyThing` annotated as
`@XmlRootElement`, as shown in the following example: `@XmlRootElement`, as shown in the following example:
[source,java,indent=0,subs="verbatim,quotes,attributes"] [source,java,indent=0,subs="verbatim,quotes,attributes"]
...@@ -1179,9 +1186,15 @@ used, with the additional requirement of having `MyThing` annotated as ...@@ -1179,9 +1186,15 @@ used, with the additional requirement of having `MyThing` annotated as
} }
---- ----
To get the server to render XML instead of JSON, you might have to send an To use JAXB as XML renderer, add the following dependency to your project:
`Accept: text/xml` header (or use a browser).
[source,xml,indent=0,subs="verbatim,quotes,attributes"]
----
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
</dependency>
----
[[howto-customize-the-jackson-objectmapper]] [[howto-customize-the-jackson-objectmapper]]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment