使用post方法的java rest web服务

时间:2017-09-23 04:25:00

标签: java

我正在尝试使用“POST”方法执行java rest Web服务。我的客户端部分调用Web服务正常工作。但是我遇到了通过“POST”方法访问传递参数的困难。任何帮助都会要感激的。这是我的客户端

    public static void main(String[] args) throws IOException
{
    String urlParameters = "param1=world&param2=abc";

    String request = "http://localhost:8080/wsRevDash/rest/post/test";

    URL url = new URL(request);

    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setDoOutput(true);
    conn.setInstanceFollowRedirects(false);
    conn.setRequestMethod("POST");

    conn.setRequestProperty("charset", "utf-8");
    DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
    wr.writeBytes(urlParameters);
    wr.flush();
    wr.close();
    Reader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
    System.out.println("\nSending 'POST' request to URL : " + url);
    System.out.println("Post parameters : " + urlParameters);

    for (int c; (c = in.read()) >= 0;)
        System.out.print((char)c);
}

这是我的java rest web服务

   @POST
    @Path("/test")
    @Produces(MediaType.APPLICATION_JSON)


    public String getpostdata(@QueryParam("param1") String param1,@QueryParam("param2") String param2)
    {

        JSONObject jObjDevice = new JSONObject();

         jObjDevice.put("Hello",param1);
         return jObjDevice.toJSONString();

     }

参数param1 = world.But当我运行Web服务时,我得到json字符串为{“Hello”:null}而不是{“Hello”:“world”}。请建议任何更改。我认为问题是注释即@ QueryParam。如果是这种情况,那么请提供正确的方法来使用适当的注释访问参数。

0 个答案:

没有答案