0

我正在尝试编写一个简单的 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 收到任何日志,这让我很难确定根本原因。在这个过程中是否有我遗漏的关键步骤?

4

1 回答 1

0

通常这是因为您的请求中缺少“application/xml”的 Accept 标头或 Content Type 标头。此外,如果您使用的是 Spring 3.1,则可以通过这种方式使您的注释更加明确:

@RequestMapping(value="submit",method=RequestMethod.POST, consumes="application/xml", produces="application/xml")
于 2012-07-12T21:47:24.977 回答