2016-05-27 1 views
0

Je suis confronté à ce problème essayer de faire une demande de post avec retrofit.Android Retrofit post demande erreur d'encodage en plusieurs parties

@Body parameters cannot be used with form or multipart encoding. 

Mes classes de corps a l'air comme ci-dessous,

public class AddUser implements Serializable { 
    public String memberNo; 
    public List<AddUserLimit> limits; 
} 

public class AddUserLimit implements Serializable { 
    public String type; 
    public Value value; 
} 

public class Value implements Serializable { 
    public String unit; 
    public String unit_value; 
} 

Et ma méthode d'interface ressemble ci-dessous,

@FormUrlEncoded 
@POST("api") 
Call<ResponseBody> addMember(@QueryMap HashMap<String, Object> paramaters, @Body AddUser addUser); 

Je suis en attente de votre aide.

Répondre

2

Vous ne pouvez pas utiliser l'annotation @Body avec une annotation @FormUrlEncoded. Vous devez utiliser une annotation @Part, cette annotation composera le corps de la demande pour vous.

+1

J'ai supprimé l'annotation @FormUrlEncoded et corrigé. Merci de votre aide. –