改造更改多部分条目内容类型

Retrofit change multipart entries Content-Type

我正在使用 Retrofit 2,我的服务中有以下方法:

@Multipart
@POST("avatar.ashx")
Call<ResponseBody> getAvatar(@Header("Authorization") String auth,
                             @Part(value = "l", encoding = "8bit") String login,
                             @Part(value = "p", encoding = "8bit") String password);

服务器正在等待包含

部分的请求
Content-Type: text/plain; charset=UTF-8

但retrofit中产生的要求是

Content-Type: application/json; charset=UTF-8

有什么方法可以更改内容类型吗?

也许有人需要它,所以我会 post 我找到的解决方法: 我服务中的方法:

    @Multipart
    @POST("avatar.ashx")
    Call<ResponseBody> getAvatar(@Header("Authorization") String auth,
                             @PartMap() Map<String, RequestBody> requestData);

以及方法的使用:

    LinkedHashMap<String, RequestBody> requestData = new LinkedHashMap<>();
    RequestBody rb;
    rb = RequestBody.create(MediaType.parse("text/plain"), getSettings().getUserName());
    requestData.put("l", rb);
    rb = RequestBody.create(MediaType.parse("text/plain"), getSettings().getPassword());
    requestData.put("p", rb);
    mCall = getAvatarApiService().getAvatar(auth, requestData);