Я хотел бы отправить запрос на сервер, и у меня есть несколько параметров ключа и список файлов, например:
@FormUrlEncoded
@POST("index.php")
Call<MyObjResponse> myCall(@Part List<MultipartBody.Part> files, @FieldMap Map<String, String> params);
Я получаю ошибку:
java.lang.IllegalArgumentException: параметры @Part могут использоваться только с многочастным кодированием. (параметр № 1)
для метода IRestApi.pushLocalChangesWithMultipartCall
в retrofit2.ServiceMethod $ Builder.methodError (ServiceMethod.java:752)
в retrofit2.ServiceMethod $ Builder.methodError (ServiceMethod.java:743)
в retrofit2.ServiceMethod $ Builder.parameterError (ServiceMethod.java:761)
в retrofit2.ServiceMethod $ Builder.parseParameterAnnotation (ServiceMethod.java:592)
в retrofit2.ServiceMethod $ Builder.parseParameter (ServiceMethod.java:336)
в retrofit2.ServiceMethod $ Builder.build (ServiceMethod.java:204)
в retrofit2.Retrofit.loadServiceMethod (Retrofit.java:170)
на retrofit2.Retrofit $ 1.invoke (Retrofit.java:147)
в java.lang.reflect.Proxy.invoke (Proxy.java:913)
at $ Proxy5.pushLocalChangesWithMultipartCall (неизвестный источник)
Я попытался поставить @Multipart
вместо @FormUrlEncoded
, и ошибка стала:
java.lang.IllegalArgumentException: параметры @FieldMap можно использовать только с кодировкой формы. (параметр № 2)
для метода IRestApi.pushLocalChangesWithMultipartCall
в retrofit2.ServiceMethod $ Builder.methodError (ServiceMethod.java:752)
в retrofit2.ServiceMethod $ Builder.methodError (ServiceMethod.java:743)
в retrofit2.ServiceMethod $ Builder.parameterError (ServiceMethod.java:761)
в retrofit2.ServiceMethod $ Builder.parseParameterAnnotation (ServiceMethod.java:567)
в retrofit2.ServiceMethod $ Builder.parseParameter (ServiceMethod.java:336)
в retrofit2.ServiceMethod $ Builder.build (ServiceMethod.java:204)
в retrofit2.Retrofit.loadServiceMethod (Retrofit.java:170)
на retrofit2.Retrofit $ 1.invoke (Retrofit.java:147)
в java.lang.reflect.Proxy.invoke (Proxy.java:913)
at $ Proxy5.pushLocalChangesWithMultipartCall (неизвестный источник)
p.s. POST
это мульт, который я не могу использовать PUT