如何在play框架中获取HttpServletRequest / ServletInputStream

时间:2014-07-07 09:55:21

标签: playframework

在使用Play框架之前,我可以使用下面的代码来获取原始帖子数据,

  ServletInputStream inputStream = request.getInputStream();
  if(inputStream!=null){
       String xml = StreamUtils.copyToString(inputStream,Charset.forName("utf-8"));
       System.out.println("xml: "+xml);
       EventMessage eventMessage = XMLConverUtil.convertToObject(EventMessage.class,xml);
       ......
       return;
  }

当使用play框架时,play.mvc.Http.Request似乎没有获取输入流的方法,是否有任何方法可以获取 ServletInputStream在玩什么?

1 个答案:

答案 0 :(得分:1)

在Play控制器中,您可以访问request,从那里您可以获得包含您要查找的字符串的请求正文:

public static Result index() { String xml = request().body().asText(); ... return ok("ok); }

注意:您也可以使用身体的asXml()方法。

有关详细信息:http://www.playframework.com/documentation/2.3.x/JavaBodyParsers