无法从GET请求中获取JSON

时间:2012-03-02 19:55:34

标签: java web-services rest playframework

新玩!一般来说,框架和Web开发,我试图对Web服务进行简单的REST GET,并且只是获得一些直接的JSON作为响应。在浏览器中输入URL,我得到了一个完美的响应,格式很好的JSON。通过代码调用它,它只会爆炸:

   WS.WSRequest wsRequest = WS.url( serviceURL );
   wsRequest.timeout( timeoutTime );
   wsRequest.setHeader("Accept", "application/json");
   wsRequest.headers.put( "Content-type","application/json" );
   wsRequest.mimeType = "application/json"; 

   WS.HttpResponse response = wsRequest.get();
   String graphServiceResponse = response.getJson().toString();

一切正常,直到它抛出异常和错误的最后一行。我知道我看起来有很多冗余代码;那些是我试图解决它。就像我说的,键入" serviceURL"进入浏览器,它工作正常。

任何人都知道我做错了什么?提前谢谢!

2 个答案:

答案 0 :(得分:0)

好的,解决了这个问题。只是省略了所有的集合等,添加了身份验证,它完美地工作。怪异。

   String stringResponse = "";
   try {
      // execute GET to graph service
      WS.WSRequest wsRequest = WS.url( serviceURL ).authenticate( USERNAME, PASSWORD );
      WS.HttpResponse response = wsRequest.get();
      stringResponse = response.getString();

      ... more cool stuff ...

感谢您的期待!

答案 1 :(得分:0)

我试过并发现以下代码正常工作。 10000是以ms为单位的超时参数。

    String baseUrl = "your url";

    F.Promise<WSResponse> response = ws.url(baseUrl)
            .setQueryParameter(param, value)
            .get();

    return response.get(10000).asJson().toString();