Play中的RESTful POST请求

3
我一直在学习Play!框架,但是我无法使最简单的示例代码正常工作。
String xml = "<thing><foo>first</foo><bar>second</bar></thing>";
Response response = POST("/thing", "application/xml", xml);

在我的控制器中的/thing方法中,传入的Thing对象总是null
请问有没有成功将xml文档POST到控制器操作的代码段,并最终得到可持久化到数据库的反序列化对象的示例?

获取请求中发送的XML数据,解析出您需要创建模型对象的数据。 - Michael
1个回答

2
似乎中存在错误。在方法ApiPlugin.getXml(Class)中,代码Request.current().params.get("body")返回一个String对象。在接口javax.xml.bind.Unmarshaller中没有重载的方法unmarshal(String)。为了使其工作,请将该字符串包装到java.io.StringReader中:
    String body = Request.current().params.get("body");
    return um.unmarshal(new StringReader(body));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接