玩 1.2.4:处理 POST 请求,body 中带有 XML
Posted
技术标签:
【中文标题】玩 1.2.4:处理 POST 请求,body 中带有 XML【英文标题】:Play 1.2.4: process POST request with XML in the body 【发布时间】:2012-05-08 18:27:46 【问题描述】:我搜索了处理以 XML 为主体的 POST 请求的文档/示例,但似乎找不到 play 1.2.4 的最新示例(有一个很好的注释可以用于不过玩2.0)。
我有一个像这样发布 XML 的 Flex 应用程序:
public function post( url:String, xml:XML ):void
var service:HTTPService = new HTTPService();
var responder:Responder = new Responder( postResult, postFault );
var token:AsyncToken;
service.method = "POST";
service.contentType = "application/xml";
service.resultFormat = "e4x";
service.url = url;
token = service.send( xml );
token.addResponder( responder );
如何以 XML 格式访问正文,以便使用 JAXB 对其进行处理?
谢谢!
【问题讨论】:
您可以在控制器中使用 request.body 访问 HTTP POST 请求的正文,注意它是 InputStream 类型。然后你可以使用任何 XML 解析器或序列化器/反序列化器来处理它 【参考方案1】:我知道有两种方法。
您可以使用request.body
,它返回一个 InputStream。对于习惯简单 Play 的人来说可能有点啰嗦。
只需致电params.get("body")
。这将返回整个身体。
显然,您最有可能选择选项 2,但对于某些用例,选项 1 可能是首选。
【讨论】:
以上是关于玩 1.2.4:处理 POST 请求,body 中带有 XML的主要内容,如果未能解决你的问题,请参考以下文章