0

サーバーと通信する必要がある Android アプリを作成しています。OkHttp3 が使用する MultipartBody を作成するのに苦労しています。私のコードは次のようになります。

OkHttpClient client = new OkHttpClient();

try 
{
    RequestBody requestBody = new MultipartBody.Builder()
                    .setType(MultipartBody.FORM)
                    .addFormDataPart("someKey1", "someString1")
                    .addFormDataPart("someKey2", "someString2")
                    .build();
    System.out.println(requestBody.toString());

    Request request = new Request.Builder()
                    .url("server url")
                    .post(requestBody)
                    .build();

    Response response = client.newCall(request).execute();
    return response;
}
catch (IOException e)
{
    e.printStackTrace();
    return false;
}

これは、誰もが使用するほぼ標準的なコードです。サーバーはリクエストを受け取りますが、リクエストから MultipartBody を取得できません。マルチパートボディを印刷すると、次のようになります。

I/System.out: okhttp3.MultipartBody@14040826

私の質問は次のとおりです。なぜ私のデータが含まれていないのですか?ライブラリがありませんか (gradle にコンパイル 'com.squareup.okhttp3:okhttp:3.2.0' を含め、MultipartBody がこのライブラリの一部であると想定しています)? MultipartBody はどのように見えるはずですか?

FormBody も送信してみましたが、同じように見えます。

4

1 に答える 1