Codenameone执行邮递员REST调用
使用邮递员,我能够成功地连接到我的登录服务器并接收访问令牌 我想在我的CN1代码中复制此调用Codenameone执行邮递员REST调用,codenameone,Codenameone,使用邮递员,我能够成功地连接到我的登录服务器并接收访问令牌 我想在我的CN1代码中复制此调用 ConnectionRequest getTokenConnReq = null; try { getTokenConnReq = new ConnectionRequest("https://myloginserver.com/accounts/login"); getTokenConnReq.setP
ConnectionRequest getTokenConnReq = null;
try {
getTokenConnReq = new ConnectionRequest("https://myloginserver.com/accounts/login");
getTokenConnReq.setPost(true);
getTokenConnReq.addRequestHeader("Content-Type","application/x-www-form-urlencoded");
getTokenConnReq.setHttpMethod("POST");
getTokenConnReq.setRequestBody("username=myusername&password=mypassword");
getTokenConnReq.setFailSilently(true);
getTokenConnReq.setCookiesEnabled(false);
NetworkManager.getInstance().addToQueueAndWait(getTokenConnReq);
result = new JSONParser().parseJSON(new InputStreamReader(new ByteArrayInputStream(getTokenConnReq.getResponseData()), DocumentInfo.ENCODING_UTF8));
return result;
} catch (Exception err22) {
System.err.println(err22);
return null;
}
这是我的邮递员脚本:
卷曲
爪哇
不幸的是,我的回答从300到400不等,这取决于我如何调整代码。
请告知我如何在CN1中工作
(我认为这可能与Cookies有关,因为我确实看到邮递员在后台为通话添加Cookies)
任何帮助都将不胜感激
谢谢我建议使用
Rest
API,它更易于用于此类调用:
Rest.post("https://myloginserver.com/accounts/login")
.contentType("application/x-www-form-urlencoded")
.queryParam("username", username)
.queryParam("password", password)
.fetchAsJsonMap(result -> {
Map parsedJson = result.getResponseData();
// key/value pairs from the resulting JSON
});
ConnectionRequest getTokenConnReq = null;
try {
getTokenConnReq = new ConnectionRequest("https://myloginserver.com/accounts/login");
getTokenConnReq.setPost(true);
getTokenConnReq.addRequestHeader("Content-Type","application/x-www-form-urlencoded");
getTokenConnReq.setHttpMethod("POST");
getTokenConnReq.setRequestBody("username=myusername&password=mypassword");
getTokenConnReq.setFailSilently(true);
getTokenConnReq.setCookiesEnabled(false);
NetworkManager.getInstance().addToQueueAndWait(getTokenConnReq);
result = new JSONParser().parseJSON(new InputStreamReader(new ByteArrayInputStream(getTokenConnReq.getResponseData()), DocumentInfo.ENCODING_UTF8));
return result;
} catch (Exception err22) {
System.err.println(err22);
return null;
}
Rest.post("https://myloginserver.com/accounts/login")
.contentType("application/x-www-form-urlencoded")
.queryParam("username", username)
.queryParam("password", password)
.fetchAsJsonMap(result -> {
Map parsedJson = result.getResponseData();
// key/value pairs from the resulting JSON
});