1
CodenameOneを使用してPOSTリクエストをREST APIに送信しています。 メッセージと共にBODYを渡す必要がないので、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()); try {..... connReq.buildRequestBody(bOutput); .....}しかし、私はこのエラーが発生します... buildRequestBody(OutputStream)はConnectionRequestのアクセスを保護しています私は間違って何をしていますか? –
'buildRequestBody'メソッドは' ConnectionRequest'のサブクラス化によってオーバーライドするコールバックです。 –
ありがとう - 私はこれをやったが、今は少なくともそれが構築されています。しかし、ボディはまだ空白です。私がデバッグしてステップスルーすると、新しいオーバーライドされたbuildRequestBodyメソッドに渡されるデータが有効であることがわかります。ウォッチウィンドウで、 'data' byte []変数がnullであることに気付きました。これは人口に当てるべきでしょうか? –