1
我正在使用CodenameOne向POST请求发送POST请求。 它与GET完美协作,因为我不必将消息传递给BODY。 请有人告诉我如何通过我的帖子消息的身体?codenameone POST请求BODY
这里是我使用的连接代码...
try {
ConnectionRequest connReq = new ConnectionRequest();
connReq.setPost(true);
connReq.addRequestHeader("Authorization", "54321);
connReq.addRequestHeader("client_id","12345");
connReq.addRequestHeader("Content-Type","application/json");
connReq.setUrl("https://myapi.com/connect");
connReq.setHttpMethod("POST");
NetworkManager.getInstance().addToQueueAndWait(connReq);
Map<String,Object> result = new JSONParser().parseJSON(new InputStreamReader(new ByteArrayInputStream(connReq.getResponseData()), "UTF-8"));
return result;
}
catch(Exception err) {
System.err.println(err);
return null;
}
我已经在这里找到了一些文件 - 但我不能完全理解他们告诉我...
感谢
我想这.... ByteArrayOutputStream bOutput = new ByteArrayOutputStream(); bOutput.write(“\”Key \“:\”Value \“”。getBytes());尝试{..... connReq.buildRequestBody(bOutput); .....}但是我得到这个错误... buildRequestBody(OutputStream)保护了ConnectionRequest中的访问我做错了什么? –
'buildRequestBody'方法是一个回调,你应该通过继承'ConnectionRequest'来重写。 –
谢谢 - 我已经完成了这个,现在至少它正在建设中。然而身体仍然是空白的。当我调试并逐步通过时,我可以看到传入我新的被重写的buildRequestBody方法的数据是有效的。我在观察窗口注意到'data'byte []变量为空。这应该填充? –