喜發送表單數據我有一個JSON發送到服務器(POST METHORD){"country":"india","devicetype":"android"}
它是在像這樣JSON的關鍵表單數據模型 是數據即在服務器一樣接受它如何retrofit2的Android
正在使用改裝我使用多部這樣的
@Multipart
@POST("initiate")
@Headers({
"Content-Type: application/json",
"Cache-Control: no-cache"
})
Call<UserInfoServerResponse> getUserInfoRequest(@Part(value="data") UserInfo mUserInfo);
這裏的UserInfo是JSON,但我得到之後無法從服務器消息我用FormUrlEncoded methord
@FormUrlEncoded
@POST("initiate")
@Headers({
"Content-Type: application/json",
"Cache-Control: no-cache"
})
Call<UserInfoServerResponse> getUserInfoRequest(@Field(value="data",encoded = false) String mUserInfo);
它放出來,也從服務器相同的失敗的結果,但向服務器發送的數據是在甲
data=%7B%22country%22%3A%22india%22%2C%22devicetype%22%3A%22%22%7D
我UserInfo.class
public class UserInfo {
public String country;
public String devicetype;
public UserInfo(String country,String devicetype) {
this.country=country;
this.devicetype=devicetype;
}
}
我的適配器類
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();
}
});
所以我怎麼能發送json到服務器使用改造成功我走過了retofit document並按照幾個步驟,但我沒有得到任何結果。任何一個可以幫我在這
謝謝
安置自己的'UserInfo'類 –
嘗試添加 「接受:應用/ JSON」 的標題。 –
你的Retrofit RestAdapter代碼在哪裏? –