retrofit 2.0を使用してファイルをアップロードしようとしています。ファイルとは別に、ブール型も含むフォームデータを送信する他のパラメータはほとんどありません。私のリクエスト宣言は -Retrofit 2.0 Multipart Requestは、ファイルを含むフォームデータにブール型を送信します。
@Multipart
@POST("/upload/abc")
Call<UploadResponse> uploadToServer(@Part("img_file\";filename=\"image") RequestBody file,
@Part("access_token") RequestBody sessionKey,
@Part("is_final") Boolean isFinal,
@Part("sequence_id") Integer sequenceId,
@Part("entity_id") RequestBody entityId,
@Part("image_type") RequestBody imageType);
私はGsonConverterFactoryを使用しています。 I 2つのアプローチを試みた -
(1)の代わりに@Part("is_final") Boolean isFinal
Iの@Part("is_final") RequestBody isFinal
を使用し、RequestBody.create(MediaType.parse("text/plain"), String.valueOf(true))
でそれを送信する(2)@Part("is_final") Boolean isFinal
を用い、にBoolean.TRUEで送信します。
どちらの場合も、サーバー側で受け取った "is_final"は、Unicodeまたはブール値ではなく文字列です。 Gradleのファイルにcompile 'com.squareup.retrofit2:converter-scalars:2.1.0'
を追加
-
何が、私はそれがで働かせたこの