Я не знаю, где моя проблема. Я должен отправить сырое тело, какМодернизация: получение ошибки ** Конец ввода в строке 1 столбец 1 **
{"app_id":"abced","app_key":"abced","request":"login","username":"[email protected]","password":"1234"}
Я использую retrofit 2.0. Я создал интерфейс, как
@FormUrlEncoded
@POST("index.php/")
Call<LoginResponse> getHome(@Field("app_id") String request,
@Field("app_key") String request1,
@Field("request") String request2,
@Field("username") String request3,
@Field("password") String request4);
и вызов, как это:
Retrofit retrofitget = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
MyAPI ApiData = retrofitget.create(MyAPI.class);
Call<LoginResponse> GalleryGetSet = ApiData.getHome("abced","abced","login","[email protected]","1234");
GalleryGetSet.enqueue(new Callback<LoginResponse>() {
@Override
public void onResponse(Call<LoginResponse> call, Response<LoginResponse> response) {
Log.e(TAG, "data1" + response.body().getError());
}
@Override
public void onFailure(Call<LoginResponse> call, Throwable t) {
Log.e(TAG, "Error2" + t.getMessage());
}
});
всегда получаю сообщение об ошибке: Конец ввода в строке 1 колонки 1 Правильно ли процесс размещать исходные данные тела через переделать пост или я ошибаюсь. Уже google он, но не получил мое решение. Пожалуйста, помогите мне.
Я также попытался таким образом интерфейс
@FormUrlEncoded
@POST("index.php")
Call<LoginResponse> getHome1(@Field("login") String data);
и при вызове
Retrofit retrofitget = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.addConverterFactory(ScalarsConverterFactory.create())
.build();
MyAPI ApiData = retrofitget.create(MyAPI.class);
Call<LoginResponse> listGalleryGetSet = ApiData.getHome("ABCD","ABCD","login","[email protected]","1234");
listGalleryGetSet.enqueue(new Callback<LoginResponse>() {
@Override
public void onResponse(Call<LoginResponse> call, Response<LoginResponse> response) {
Log.e(TAG, "data1" + response.body().getError());
}
@Override
public void onFailure(Call<LoginResponse> call, Throwable t) {
Log.e(TAG, "Error" + t.getMessage());
}
});
Мой LoginResponse класс
public class LoginResponse {
private String error;
private Boolean vlink;
/**
*
* @return
* The error
*/
public String getError() {
return error;
}
/**
*
* @param error
* The error
*/
public void setError(String error) {
this.error = error;
}
/**
*
* @return
* The vlink
*/
public Boolean getVlink() {
return vlink;
}
/**
*
* @param vlink
* The vlink
*/
public void setVlink(Boolean vlink) {
this.vlink = vlink;
}
}
зависимость
compile 'com.squareup.retrofit2:retrofit-converters:2.0.0-beta3'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta3'
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3'
Заранее спасибо
и какой ваш пример ответа на вход пользователя json. Если вы его обновите, я исправлю вашу проблему. –
pls check it Я уже обновил свой класс LoginResponse pojo ** {"error": "Аккаунт не активирован. Пожалуйста, проверьте электронную почту для активации вашей учетной записи.", "Vlink": true} ** И это мой ответ json –
, если кому-то нужна помощь, не стесняйтесь спрашивать в любое время –