Я знаком с использованием динамических URL-адресов с Retrofit2, но с проблемой отправки имени пользователя & пароля в запросе. WebAPI работает, введя URL-адрес, на экране появляется запрос на вход для имени пользователя &, после аутентификации отображается ответ JSON. Интерфейс определяется для динамического URL:Retrofit2 - Не удается получить базовую аутентификацию для webAPI с динамическим URL-адресом
@GET
public Call<User> getJSON(@Url String string);
Мой запрос выглядит следующим образом:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
LoginService service = retrofit.create(LoginService.class);
Call<User> call = service.getJSON("https://username:[email protected]/");
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, retrofit2.Response<User> response) {
System.out.println("Response status code: " + response.code());
Я уверен, адрес верен, как он работает в браузере &, но я получаю сообщение об ошибке в Неправильное имя пользователя &?
I/System.out: Response status code: 401
Кроме того, насколько я могу сказать, что я могу использовать только @GET, а не @post, потому что всякий раз, когда я пытаюсь @POST код отклика:
I/System.out: Response status code: 405
Сначала я пытался следовать что-то аналогично this post с использованием закодированного флага, потому что это пример использования @PATH & @URL с Retrofit2, но не имел никакого успеха. Вот почему я попробовал имя пользователя: password @ prepend к URL. Большинство других примеров используют метод @POST.
Любая обратная связь или идеи о том, как я могу пройти аутентификацию? Благодаря
Спасибо @iagreen за вашу помощь, теперь я могу успешно пройти аутентификацию – JC23