У меня есть Json
данные на firebase
, как это;
[{"Password":123,"UserName":"User1"},{"Password":34,"UserName":"User2"}]
Я хочу, чтобы аутентификация зависела от этих данных, но проблема в том, что я могу публиковать только данные Json, например;
пользователь введет новые данные UserName = User3
и Password = 44;
мои Json
данные будут
[{"Password":123,"UserName":"User1"},{"Password":34,"UserName":"User2"},{"Password":44,"UserName":"User3"}]
Это не моя цель, я хочу проверить данные и вернуть «верно или нет» в моих исходных данных.
Проблема в том, что; Я хочу проверить доступность данных при отправке имени пользователя и пароля. Если существует ответ возврата "успех", если не ответ "ошибка".
Мой класс пользователя таков;
public class User {
@SerializedName("UserName")
public String UserName;
@SerializedName("Password")
public String Password;
public User(String UserName, String Password) {
this.UserName = UserName;
this.Password = Password;
}
}
Класс результата входа в систему таков;
public class LogonResult {
@SerializedName("HasErrors")
public boolean hasError;
@SerializedName("Message")
public String message;
@SerializedName("LoggedUser")
public User loggedUser;
}
Модифицированный сервис, подобный этому;
public interface CensService {
@POST("/User.json")
Call<LogonResult> login(@Body User userInfo);
}
А вот основной метод;
final String user = usernameInput.getText().toString().trim();
final String pass = passwordInput.getText().toString().trim();
User usr = new User(user,pass);
final CensClient client = new CensClient();
final CensService apiService = client.getClient(LoginActivity.this).create(CensService.class);
Call<LogonResult> userCall = apiService.login(usr);
Log.w("request",userCall.request().toString());
userCall.enqueue(new Callback<LogonResult>() {
@Override
public void onResponse(Call<LogonResult> call, Response<LogonResult> response) {
if(response.isSuccessful()) {
//(response.body().toString());
}else{
//(response.message());
}
}
@Override
public void onFailure(Call<LogonResult> call, Throwable t) {
//
}
});