Задать вопрос
@snitron
Учуcь программировать на Android, IOS и Unity.

Почему Retrofit не отправляет запрос?

В описании API следующий код:
@FormUrlEncoded
    @POST("loginByPass/")
    fun loginByPassword(@Field("login") login: String,
                        @Field("password") password: String,
                        @Field("phone") phone: String) : Observable<AuthResponse>


Сам объект Retrofit создаю следующим образом:
class API {
    companion object {
        fun getRetrofitAPI() : IAPI {
            val interceptor = HttpLoggingInterceptor()
            interceptor.setLevel(HttpLoggingInterceptor.Level.BODY)


            val client = OkHttpClient.Builder()
                .connectTimeout(30, TimeUnit.SECONDS)
                .addInterceptor(interceptor)
                .addNetworkInterceptor(interceptor)
                .build()

            val retrofit = Retrofit.Builder()
                .baseUrl(SERVER_ADDRESS)
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .client(client)
                .build()

            return retrofit.create(IAPI::class.java)
        }
    }
}


И сам запрос:
api.loginByPassword(login, password, "")
            .observeOn(AndroidSchedulers.mainThread())
            .subscribeOn(Schedulers.io())
            .subscribe({
                Log.w("USER_DB", "CODE: " + it.code)
            }, {
                this.sayError(it.localizedMessage)
            }).dispose()


И в ответ тишина! По логам как-будто ничего не отправляется, просмотрел отправленные пакеты - от эмулятора также ничего. Обращение идёт к IP-адресу сервера по HTTP.
Не подскажете, в чём может быть причина?
  • Вопрос задан
  • 259 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
AlexanderYudakov
@AlexanderYudakov
C#, 1С, Android, TypeScript
Ничего не знаю про Retrofit, но... подозреваю, что dispose() здесь явно лишний.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Gregary
Вот есть отличный туториал на русском языке и на Kotlin как работать с GSON и Retrofit androidschool.ru/courses/android-retrofit-and-gson
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы