Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 19 additions & 6 deletions spring-boot-project/spring-boot-docs/src/main/asciidoc/howto.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -1155,9 +1155,15 @@ tend to send accept headers that prefer XML.

[[howto-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
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"]
----
Expand All @@ -1167,8 +1173,9 @@ work. To use the Jackson XML renderer, add the following dependency to your proj
</dependency>
----

If Jackson's XML extension is not available, JAXB (provided by default in the JDK) is
used, with the additional requirement of having `MyThing` annotated as
==== JAXB
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:

[source,java,indent=0,subs="verbatim,quotes,attributes"]
Expand All @@ -1180,9 +1187,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
`Accept: text/xml` header (or use a browser).
To use JAXB as XML renderer, add the following dependency to your project:

[source,xml,indent=0,subs="verbatim,quotes,attributes"]
----
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
</dependency>
----


[[howto-customize-the-jackson-objectmapper]]
Expand Down