我正在尝试使用Restlet创建一个Strawpoll。这是我的代码:
ClientResource resource = new ClientResource("https://strawpoll.me/api/v2/polls");
JSONObject body = new JSONObject();
JSONArray options = new JSONArray();
options.put("Option 1");
options.put("Option 2");
try {
body.put("title", "Example Title");
body.put("options", options);
body.put("multi", false);
body.put("captcha", true);
} catch (JSONException e) {
e.printStackTrace();
}
Representation bodyRepr = new StringRepresentation(body.toString());
bodyRepr.setMediaType(MediaType.APPLICATION_JSON);
try {
System.out.println(resource.post(bodyRepr).getText());
} catch (ResourceException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
不幸的是我没有收到回复。 getText()只返回" null"。然后我尝试使用Postman提交以下相应的请求:
{
"captcha": true,
"options": ["Option 1", "Option 2"],
"title": "Example Title",
"multi": false
}
这次我得到了适当的回应:
{
"id": 11187617,
"title": "Example Title",
"options": ["Option 1", "Option 2"],
"votes": [0, 0],
"multi": false,
"dupcheck": "normal",
"captcha": true
}
所以我假设我的Java代码有问题,但我无法弄清楚是什么。这是Strawpoll的API:https://github.com/strawpoll/strawpoll/wiki/API。