Столкнулся с проблемой отправки POST запроса, работаю со Swagger Web Api. Не могу понять, какие данные ждёт сервер и как их правильно обернуть (так как посылаю правильные данные, а получаю ответ что они некорректны).
Сервер ждёт следующие данные:
Я выполняю следующий код:
User mUser = new User("Android","qwerty");
JSONObject jsonObj = new JSONObject();
try {
jsonObj.put("Login", mUser.getLogin());
} catch (JSONException e) {
e.printStackTrace();
}
try {
jsonObj.put("Password", mUser.getPassword());
} catch (JSONException e) {
e.printStackTrace();
}
Call
mTokenResponseCall.enqueue(new Callback
TokenResponse mTokenResponse = response.body();
Log.d("LoginActivity","onResponse " + mStatusCode);
}
@Override
public void onFailure(Call
А Retrofit выглядит, так:
@Headers({ "Content-Type: application/json;charset=UTF-8"})
@POST("Api/Account/Login")
Call
P.S.
На сервер отправляется следующая строчка
{"nameValuePairs":{"Login":"Android","Password":"qwerty"}}
Ответ
Как уже писал выше, на сервер отправляется следующая строчка {"nameValuePairs":{"Login":"Android","Password":"qwerty"}}.
А сервер ожидает: {"Login":"Android","Password":"qwerty"}
Для этого используйте JsonObject из библиотеки com.google.gson.*.
Комментариев нет:
Отправить комментарий