gpt4 book ai didi

android - 在 Retrofit2 的单个请求中使用 @FieldMap 和 @Part 获取方法的 java.lang.IllegalArgumentException : Only one encoding annotation is allowed.

转载 作者:搜寻专家 更新时间:2023-11-01 09:41:01 24 4
gpt4 key购买 nike

这可能看起来与之前的问题相似,但实际上没有一个能回答我的问题。我需要使用 retrofit2 在一个请求中发布多个字段和多个图像,但出现此错误

java.lang.IllegalArgumentException: Only one encoding annotation is allowed.for method xxx

我正在使用

@Multipart
@FormUrlEncoded

因为@Field 需要@FormUrlEncoded 而@Part 需要@Multipart。更合乎逻辑的做法是删除 @FormUrlEncoded 注释,但我该如何从那里开始。现在的问题是我如何完成任务以在单个请求中发送我的帖子。

这是界面

@Multipart
@FormUrlEncoded
@POST("upload")
Call<ResponseBody> uploadPost(@FieldMap Map<String, String> map,
@Part MultipartBody.Part image1,
@Part MultipartBody.Part image2,
@Part MultipartBody.Part image3);

最佳答案

@Multipart
@POST("upload")
Call<ResponseBody> uploadPost(
@PartMap() Map<String, RequestBody> descriptions,
@Part List<MultipartBody.Part> images);

使用这个接口(interface)。

关于android - 在 Retrofit2 的单个请求中使用 @FieldMap 和 @Part 获取方法的 java.lang.IllegalArgumentException : Only one encoding annotation is allowed.,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39820762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com