Клиент Android Open API generator не может подключиться к Django Rest API, созданному с помощью rest framework

Я только что сгенерировал Android-клиент для схемы API, созданной мной самим, и включил разрешение на подключение к Интернету с помощью:

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

Я скопировал код, изменил имя пакета и URL-адреса для api, так что в моем client.api.PhotosApi классе, например, у меня есть:

public class PhotosApi {
  String basePath = "http://10.0.2.2:8000";
  ApiInvoker apiInvoker = ApiInvoker.getInstance();

  public void addHeader(String key, String value) {
    getInvoker().addDefaultHeader(key, value);
  }

И весь код генерируется автоматически с помощью https://openapi-generator.tech/. Этот IP-адрес и порт соответствуют IP-адресу моего локального компьютера, поскольку код запущен на эмуляторе Android. Ну, например, когда я использую API для извлечения фотографий, я получаю:

Когда я нажимаю кнопку, которая должна только протестировать API, извлекающий JSON. Я пробовал с localhost, я пробовал с 10.0.2.2 (и, очевидно, с портом 80). Я попытался подключиться к API pokemon, чтобы проверить, есть ли у него подключение к Интернету. Django настроен на запуск сервера на 0.0.0.0:8000 и разрешает хостинг "*", поэтому я не знаю, почему я получаю это время ожидания подключения. Я пытался установить 30-секундный тайм-аут, но все равно получил его. Самым странным фактом является то, что в мобильном браузере я могу получить доступ к API.

Вернуться на верх