2017-02-24 17 views
0

を変更:レトロフィットは、私はレトロフィット2を使用している、と私は私のサービスでメソッドを次のようしているマルチパートのエントリのContent-Type

@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 

と部品との要求を期待しかし、何されます貴社の要求に応じて改造を行います。

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

Content-Typeを変更する方法はありますか?

答えて

0

はたぶん誰かがいることを必要とするので、私は私が見つけた回避策を掲載します。私のサービスで 方法:

@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); 
関連する問題