Spring MVC 4响应主体序列化适用于JSON,但不适用于XML

时间:2015-09-30 16:55:00

标签: spring spring-mvc

我正在使用Spring 4设置REST API。默认情况下,JSON& XML。我尝试设置两个端点,一个用于返回JSON和amp;另一个用于XML。 JSON对象似乎按预期返回,但是当我尝试命中xml时,我最终得到406异常,

  

此请求标识的资源只能根据请求“accept”标题生成具有不可接受特征的响应。

我已经为JSON和&添加了Maven依赖项。 XML。下面是pom.xml的片段,

enyquist:~$ candump vcan0,00200200:1fffffff,255:7ff &
[1] 7339 
enyquist:~$ cansend vcan0 002001fe#1122 
enyquist:~$ cansend vcan0 002001ff#1122 
enyquist:~$ cansend vcan0 00200200#1122
vcan0 00200200 [2] 11 22 
enyquist:~$ cansend vcan0 00200201#1122 
enyquist:~$ cansend vcan0 00200202#1122 
enyquist:~$ 
enyquist:~$ cansend vcan0 253#1122 
enyquist:~$ cansend vcan0 254#1122 
enyquist:~$ cansend vcan0 255#1122
vcan0 255 [2] 11 22 
enyquist:~$ cansend vcan0 256#1122 
enyquist:~$ cansend vcan0 257#1122 
enyquist:~$

以下是控制器代码

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-databind</artifactId>
    <version>${jackson.version}</version>
</dependency> 

<dependency>
    <groupId>javax.xml.bind</groupId> 
    <artifactId>jaxb-api</artifactId> 
    <version>${jaxb-api.version}</version> 
</dependency>

请分享您对此处遗漏的内容的看法

1 个答案:

答案 0 :(得分:1)

根据documentation,您应该添加jackson-dataformat-xml依赖项以启用响应正文XML序列化。如果您使用Maven,只需添加:

<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-xml</artifactId>
</dependency>