0
JSON-Bodyを保持するHttp-PUT-Requestを送信したいが、そのボディを定義する方法がわからない。私は多くのことを知って試しましたが、常に同じ問題を抱えています。 Btw、私はすでに郵便配達員のput-requestをテストしましたが、それはうまくいきましたが、私はこの要求をJavaで実現できません。HTTP-PUT-Requestを送信してもステータスコードは200ですが
私の最新の試みは、次のようになります。応答コードはその後、問題ないはず200を、言う
String sURL = "http://localhost/Thingworx/Things/testAC/Properties/*";
HttpURLConnection urlConn;
URL mUrl = new URL(sURL);
urlConn = (HttpURLConnection) mUrl.openConnection();
//query should be the body
String query = String.format("{\"datDate\":%s,\"txtFrom\": %s,\"txtTo\": %s,\"numFlightTimeDecimal\":%f,\"numSeatCapacity\":%d,\"numLoad\":%d,\"numDirt\":%f,\"numTotalFlightTime\":%f,\"numCummulatedDirt\":%f}", javaDate.toString(), txtFrom, txtTo, numFlightTimeDecimal, numSeatCapacity, numLoad, numDirt, numTotalFlightTime, numCumDirt);
urlConn.setRequestMethod("PUT");
urlConn.setRequestProperty("appKey", "1042fdd2-8e85-4de1-9c92-d79ac24c1ffc");
urlConn.addRequestProperty("Content-Type", "application/json");
urlConn.setDoOutput(true);
if (query != null) {
urlConn.setRequestProperty("Content-Length", Integer.toString(query.length()));
urlConn.getOutputStream().write(query.getBytes("UTF8"));
}
System.err.println(urlConn.getResponseCode());
。しかし、PUT-Requestはサーバー上の値を変更しません。要求には何の効果もありません。
ご協力ありがとうございました! Theresa
受信アプリケーションは既知のアプリケーションですか?誰でも確認できるログを生成していますか? – DaSourcerer
あなたはPostmanからjavaでコードを生成し、それを実行しようとすることができます。 Link:https://www.getpostman.com/docs/code_snippets –
文字列にASCII以外の文字が含まれていると、長さの計算に失敗する... –