0
私はOKHttp
でHTTP POSTメッセージを送信するこの下の例を見つけました。本文をOKHttpメッセージに渡すには?
体の文字列をRequestBody
に渡す方法がわかりません。なぜ2つの議論が必要ですか?
RequestBody formBody = new FormBody.Builder()
.add("message", "Your message")
.build();
Request request = new Request.Builder()
.url("http://rhcloud.com")
.post(formBody).addHeader("operation", "modifyRecords")
.build();
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
if (!response.isSuccessful())
throw new IOException("Unexpected code " + response);
Headers responseHeaders = response.headers();
for (int i = 0, size = responseHeaders.size(); i < size; i++) {
System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i));
}
System.out.println(responseBody.string());
}
}
});
}
}
私はJSONを送りたいです。どのような 'MediaType'を設定する必要がありますか? –
私はこれを考えています:http://stackoverflow.com/questions/34179922/okhttp-post-body-as-jsonこの投稿の作者は解決策を追加しました。私はOkHttpでしばらく働いていません。 とにかくMediaTypeはapplication/jsonでなければなりません – Brudus
必要な行は次のとおりです: 'RequestBody formBody = RequestBody.create(MediaType.parse(" application/json ")、" [\ "MB \"、[]、[]] " ); ' –