в нашем веб-сервисе мы можем передать имя пользователя и пароль с этой структурой ниже, и мы можем получить данные с сервера успешно
POST -> http://www.sample.com/Service1.svc/login
Content-Type: application/json
Body:
{
"UserName": "1",
"Password": "1"
}
или с Curl:
curl -X POST -H 'Content-Type: application/json' -i 'http://www.sample.com/Service1.svc/login' --data '{
"UserName": "1",
"Password": "1"
}'
моя проблема с Retrofit
- это прописные буквы первых символов в имени пользователя и пароле, когда я реализую приведенный ниже код, я получаю 0
, поскольку имя пользователя и пароль неверны
LoginSchema
класс:
class LoginSchema {
private int Username;
private int Password;
public LoginSchema(int username, int password) {
Username = username;
Password = password;
}
}
Retrofit
реализация:
LoginSchema loginSchema = new LoginSchema(1, 1);
Call<Integer> call = requestService.checkLoginAccount(loginSchema);
call.enqueue(new Callback<Integer>() {
@TargetApi(Build.VERSION_CODES.KITKAT)
@Override
public void onResponse(@NotNull Call<Integer> call, @NotNull final Response<Integer> response) {
try {
if (response.isSuccessful() && response.body() != null) {
EventBus.getDefault().post(new EventLoginResult(true, response.body().toString()));
} else {
EventBus.getDefault().post(new EventLoginResult(false, null));
}
} catch (Exception e) {
EventBus.getDefault().post(new EventLoginResult(false, null));
}
}
@Override
public void onFailure(Call<Integer> call, Throwable t) {
}
});
, а затем реализация API:
public interface RestfulWebServices {
@Headers("Content-Type: application/json")
@POST("/Service1.svc/login")
Call<Integer> checkLoginAccount(@Body TaskLogin.LoginSchema loginSchema);
}