如何从Java中的REST Web服务中获取curl数据?

时间:2017-09-28 16:12:15

标签: java rest curl

这是我的卷曲命令

curl -X PATCH -H  "accept: application/json" -H  "content-type: application/json" -d "{ \"name\": \"guest\" }" --url http://localhost:6080/REST/users/gust.

如何从请求中提取json数据{ name: guest}。 HttpServletRequest类是否有任何支持方法?。

谢谢。

1 个答案:

答案 0 :(得分:0)

使用Reader:

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    StringBuilder sb = new StringBuilder();
    BufferedReader reader = request.getReader();
    try {
        String line;
        while ((line = reader.readLine()) != null) {
            sb.append(line).append('\n');
        }
    } finally {
        reader.close();
    }
    System.out.println(sb.toString());
}

或者您可以尝试使用库从请求对象解析json,例如 org.json可以很容易地为您完成此操作....这里有一些示例代码可以帮助您入门:

import org.json.*;

JSONObject obj = new JSONObject(" .... ");
String pageName = obj.getJSONObject("pageInfo").getString("pageName");

JSONArray arr = obj.getJSONArray("posts");
for (int i = 0; i < arr.length(); i++)
{
    String post_id = arr.getJSONObject(i).getString("post_id");
    ......
}

可下载jar:http://mvnrepository.com/artifact/org.json/json