Comment envoyer des données de Formulaire dans retrofit2 android

Salut j'ai un json à envoyer au serveur (POST METHORD){"country":"india","devicetype":"android"} il est dans la forme du modèle de données
comme la clé de cette json est données c'est à dire est que le serveur accepte comme

data={"country":"india","devicetype":"android"} suis à l'aide de rénovation-je utiliser en plusieurs parties, comme ce

@Multipart
@POST("initiate")
@Headers({
        "Content-Type: application/json",
        "Cache-Control: no-cache"
})
Call<UserInfoServerResponse> getUserInfoRequest(@Part(value="data") UserInfo mUserInfo);

ici UserInfo est du json, mais je reçois des message en cas d'échec du serveur après que j'ai utilisé FormUrlEncoded methord

 @FormUrlEncoded
@POST("initiate")
@Headers({
        "Content-Type: application/json",
        "Cache-Control: no-cache"
})
Call<UserInfoServerResponse> getUserInfoRequest(@Field(value="data",encoded = false) String mUserInfo);

sa sortie est également de même de l'échec de résultat à partir du serveur, mais l'envoi des données vers le serveur est dans le formiate de

data=%7B%22country%22%3A%22india%22%2C%22devicetype%22%3A%22%22%7D

Mon UserInfo.class

public class UserInfo {


public String country;

public String devicetype;

public UserInfo( String country,String devicetype) {

    this.country=country;

    this.devicetype=devicetype;
}
}

Mon adaptateur classe

RemoteRetrofitInterfaces mService;
Retrofit mRetrofit;
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(20, TimeUnit.SECONDS)
.writeTimeout(20, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS).addInterceptor(interceptor)
.build();
mRetrofit = new Retrofit.Builder()
.baseUrl(AppConstant.HOST).addConverterFactory(GsonConverterFactory.create())
.client(client)
.build();
mService = mRetrofit.create(RemoteRetrofitInterfaces.class);
Call<UserInfoServerResponse> api = mService.getUserInfoRequest(new Gson().toJson(mUserInfo));
api.enqueue(new Callback<UserInfoServerResponse>() {
@Override
public void onResponse(Call<UserInfoServerResponse> responseCall, Response<UserInfoServerResponse> response) {
if (response.body().status != null) {
if (response.body().status.equals("success")) {
Log.d(TAG, "success---");
}
} else {
Log.d(TAG, "Failed---");
}
}
@Override
public void onFailure(Call<UserInfoServerResponse> responseCall, Throwable t) {
t.printStackTrace();
}
});

alors, comment puis-je envoyer le json de serveur à l'aide de rénovation avec succès, j'ai traversé la retofit document et de suivre quelques étapes mais je n'obtiens aucun résultat. quelqu'un peut-il m'aider dans cette

Merci

Publier vos UserInfo classe
essayez d'ajouter "Accept: application/json" pour les en-têtes.
où est votre Rénovation RestAdapter code?
okey voici mes infos de l'utilisateur de la classe
merci de me répondre en faire de même. je vais poster

OriginalL'auteur Ramz | 2016-02-29