我正在尝试编写一个简单的Web服务,使用JAXB自动序列化和反序列化对象:
@XmlRootElement
public class SimpleObject {
private int id;
private String name;
/* ... */
}
@Controller
public class SimpleObjectController {
@RequestMapping("submit",method=RequestMethod.POST)
public String doPost(@RequestBody SimpleObject value) {
return value.toString();
}
}
<?xml version="1.0"?>
<beans ...>
<oxm:jaxb2-marshaller id="marshaller" class="path.to.objects"/>
</beans>
但是,当我实际提出请求时,我会得到以下内容:
HTTP Status 415
The server refused this request because the request entity is in a format not
supported by the requested resource for the requested method ().
我没有从Spring返回日志,这让我很难确定根本原因。这个过程中是否有一个关键步骤,我不知道?
答案 0 :(得分:0)
通常这是因为请求中缺少“application / xml”的Accept标头或Content Type标头。此外,如果您使用的是Spring 3.1,则可以通过以下方式使注释更加明确:
@RequestMapping(value="submit",method=RequestMethod.POST, consumes="application/xml", produces="application/xml")