2
我試圖使用Codename One以JSON BODY發送POST請求。 這裏是使得連接和發送消息codenameone在POST中發送JSON BODY
ByteArrayOutputStream bOutput = new ByteArrayOutputStream();
bOutput.write("{\"Key1\": \"Value1\",\"Key2\": \"Value2\"}".getBytes());
try {
connectAction connReq = new connectAction();
connReq.setPost(true);
connReq.addRequestHeader("Authorization", "1234");
connReq.addRequestHeader("client_id","4321");
connReq.addRequestHeader("Content-Type","application/json");
connReq.setUrl("https://myapi.com/test");
connReq.setHttpMethod("POST");
connReq.buildRequestBody(bOutput);
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;
}
這裏是與buildRequestBody派生類中重寫
public class connectAction extends ConnectionRequest
{
connectAction()
{
}
@Override
public void buildRequestBody(OutputStream os)
{
}
}
現在,當我把在公共無效buildRequestBody斷點(OutputStream的操作系統的代碼)我可以看到, 'OS' 的值是
OS =(java.io.ByteArrayOutputStream中){ 「KEY1」: 「值1」, 「密鑰2」: 「值2」}
所以我知道這個價值正在使這一切成爲現實。
但是,當我啓動網絡監視器時,只填寫請求標題並且標題爲空。
任何幫助真正讚賞。
感謝
謝謝你這麼多!!!!!我真的一直在努力。我正要改變框架並尋找其他的東西:-)。謝謝謝謝! –
非常歡迎 – tizbn
修復了代碼格式 –