0

Я использую аннотации Android для управления связью моего клиента с веб-сервисом.Android Аннотации Вход с ошибкой 401 Несанкционированный

Когда я пытаюсь войти в конечную точку с помощью AA, я получаю ошибку 401 Unauthorized, но я могу успешно войти в эту конечную точку и получить ответ, когда я использую Postman.

код

My Rest Client, как это:

@Rest(rootUrl = NetworkConstants.BASE_URL, converters = {GsonHttpMessageConverter.class, StringHttpMessageConverter.class}, 
    interceptors = {RestAuthInterceptor.class}) 
public interface RestClient extends RestClientHeaders, RestClientErrorHandling { 

@Post(NetworkConstants.OFFICER_LOGIN) 
LoginModel loginOfficer(LoginModel.LoginRequest request); 
} 

И мой Логин Модель выглядит так:

public class LoginModel { 

@SerializedName("id") 
public String id; 

@SerializedName("ttl") 
public int ttl; 

@SerializedName("userId") 
public int userId; 

@SerializedName("created") 
public Date created; 

public static class LoginRequest { 
    @SerializedName("email") 
    public String email; 

    @SerializedName("password") 
    public String password; 
} 
} 

И URL я использую как это:

public static final String BASE_URL = "https://api.com/api/"; 


    public static final String LOGIN = "login"; 

И класс перехватчика, который я использую, таков:

@EBean(scope = EBean.Scope.Singleton) 
public class RestAuthInterceptor implements ClientHttpRequestInterceptor { 

@Override 
public org.springframework.http.client.ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException { 
    HttpHeaders headers = request.getHeaders(); 
    HttpAuthentication auth = new HttpBasicAuthentication("emailadress", "password"); 
    headers.setAuthorization(auth); 
    return execution.execute(request, body); 

} 
} 

Как я уже говорил ранее, когда я использую эти значения в Postman, я получил успешный ответ, но когда я попробую это в приложении, у меня возникла ошибка 401.

Я пробовал некоторые решения и пытался добавить BasicHttpAuth в перехватчик, но не работал, интересно, является ли это общей проблемой или есть проблема с API.

Примечание: URL-адреса конечной точки API и значения заголовков в классе Interceptor в вопросе не являются реальными значениями, я изменил их для обеспечения конфиденциальности.

Спасибо за помощь.

+0

Ваш код выглядит нормально. Попробуйте зарегистрировать запрос с помощью [this] (https://gist.github.com/WonderCsabo/75cea06360a8faab304b) запроса фабрики. – WonderCsabo

ответ

0

Получилось, что мой код был в порядке, и проблема была в фоновом режиме, спасибо