搞了好久这个最终还是在play官方文档中看见的发送请求的方式,国内好像很少有使用这个框架的,加之自己不是太愿意宣传,好东西总归是好东西,不说废话了。
在play中发送请求有两种常用的方式,一种get,一种post,当然,这里说的发送请求都是向第三方站点发送请求,而不是内部发送,内部当然不需要通过这种方式了。
get方式:
WS.url("url").setQueryParameter(arg0, arg1)..setQueryParameter(arg0, arg1).get();
而使用post方式:
WS.url("url").setContentType("application/x-www-form-urlencoded;charset=utf-8").post(content);
content = "p=1&a=2";
post除了可以发送字符串,还可以发送文件,流,jsonnode,当然两者返回的都是WSResponse对象了。
另外,可以通过
wsResponse.getHeader(play.mvc.Http.HeaderNames.CONTENT_TYPE) ;这种方式获知返回类型,从而决定处理方式,这几天我处理一个第三方接口返回类型是html,但是其body居然是String类型的xml文档,不得已,只能自己去处理body了,处理方式也是通过play内置的一些工具类去处理的,如下所示:
Document dom = XML.fromString(body);
String Retcode = XPath.selectText("//Retcode", dom);
这样,就取到了每个节点对应的文本值,至此,就已经达到了我的目的,好了,结束。