java - 将动态值作为请求正文发布
问题描述
我正在从访问该 API 端点的其他一些 API 中获取 ID。我正在从该 API 获取动态 ID。现在,在我发布的这段代码中,我应该发送一个请求正文,该请求正文应该接受我从存储在str中的其他 API 获取的动态 ID,并迭代直到 ID 的长度并获取每个 ID 的 JSON 响应。
for(int i=0;i<array.length();i++)
{
str.add(array.getJSONObject(i).getString("id"));
}
for(String s:str)
{
HttpPost request1 = new HttpPost("/2.0/clusters/events");
//StringEntity params=new StringEntity(array[i]);
***StringEntity params =new StringEntity("{\"id\":\"+s+\"}");***
//main concern to send dynamic ID as a body
request1.addHeader("Authorization",bearerToken);
request1.addHeader("content-type", "application/json");
request1.addHeader("Accept","application/json");
request1.setEntity(params);
System.out.println(params);
HttpResponse response1 = httpClient.execute(request1);
System.out.println("Response Code:" +
response1.getStatusLine().getStatusCode());
String json1 = EntityUtils.toString(response1.getEntity());
System.out.println(json1);
JSONObject event = new JSONObject(json1);
JSONArray arrays=event.getJSONArray("events");
for (int k=0;k< arrays.length();k++){
JSONObject ids = arrays.getJSONObject(k);
System.out.println(ids.get("id").toString());
System.out.println(ids.get("timestamp").toString());
System.out.println(ids.get("type").toString());
System.out.println(ids.get("details").toString());
}
}
主要问题是如何使用 String Entity 或任何其他使用 JAVA 的请求主体动态发送值。 我应该为每个 ID 获取 ID 及其休止符,直到它的长度。
解决方案
如果我正确理解您的问题,您想知道如何使用 StringEntity 来存储您的请求参数。您可以按如下方式使用它:
StringEntity param = new StringEntity("id=" + s);
抱歉,如果我误解了您的问题,请告诉我您所关心的更多细节。
推荐阅读
- python - InvalidArgumentError: indices[1656,1] = 83 is not in [0, 83), 当我想训练 LSTM
- reactjs - React-bootstrap 表单无法呈现
- c# - 无法编辑日期
- c# - 如何让我的敌人在 4 个不同的 Vector3 位置之间随机生成?
- format - 什么可以让一个简单的 ada 程序的输出在没有被告知时缩进?
- reactjs - 将路径添加到 URL
- c# - 为什么远程桌面登录时无法显示从服务调用的应用程序
- quire-api - 查询 webhook API
- python - 从字典中调用函数
- python-3.x - 是否可以仅从 auth_key 开始创建 Telethon 客户端?