Java:从POST获取响应

时间:2013-01-09 16:36:01

标签: java json restful-architecture

我正在开发一个应用程序。我正在使用spring和RESTful webservices。我将JSON发送到Web服务,然后收到一个。

我使用firefox RESTClient插件测试了webservice。但是现在我正在开发客户端(将json发送到webservice并接收响应的部分)。这是发送JSON的部分:

            String reqStr = "{\"customer\":\"test\",\"age\":\"24\"}";
            String request =  "example.com";        
            URL url = new URL(request);
            HttpURLConnection rc = (HttpURLConnection)url.openConnection();
            rc.setRequestMethod("POST");
            rc.setDoOutput( true );
            rc.setDoInput( true ); 
            rc.setRequestProperty( "Content-Type", "application/x-www-form-urlencoded" );
            rc.setRequestProperty("charset", "utf-8");
            int len = reqStr.length();
            rc.setRequestProperty( "Content-Length", Integer.toString( len ) );
            rc.connect();    
            OutputStreamWriter out = new OutputStreamWriter( rc.getOutputStream() ); 
            out.write( reqStr, 0, len );
            out.flush();

我认为这不是通过POST发送JSON的最佳方式。但我真正的问题是。

  1. 如何在Java代码中收到POST响应?
  2. 有没有办法测试这个?
  3. 亲切的问候, Charel

1 个答案:

答案 0 :(得分:0)

您可以使用@Form参数注释正在调用的函数。这将允许您读入这些值,类似于@QueryParam在您需要解析查询字符串时GET上的工作方式。

在测试方面,您可能希望测试通过请求的JSON数据,这应该是相当简单的。