Articles of kotlin retrofit

Повторная установка 2, Rx 2 и асинхронные вызовы

Я только начинаю с Retrofit и Rx и создаю API-интерфейс улыбки с такой конфигурацией (Kodein): bind<CallAdapter.Factory>() with singleton { RxJava2CallAdapterFactory.create() } bind<RetrofitInterface>() with singleton { val retrofit = Retrofit.Builder() .client(instance()) .baseUrl(instance<String>("apiRoot")) .addCallAdapterFactory(instance()) .addConverterFactory(instance()) .build() retrofit.create(RetrofitInterface::class.java) } Теперь кажется, что когда я вызываю методы API, созданные Retrofit, они подписываются на текущий поток, а не на поток, […]

Повторная установка + повтор RxJava с другой ссылкой

Я использую Api, который требует запросов: Название фильма Год выпуска фильма Но мой другой Api дает мне только год выпуска для конкретной страны, поэтому мне, возможно, придется повторить запрос с + / – один год. Другими словами, если первый attemp Fails, я хочу повторить попытку с другой ссылкой / запросами. Как я могу достичь этого […]

Kotlin создает результат запроса для анализа репозиториев github

Я использую библиотеку Retrofit для своих вызовов REST. Как я буду вставлять этот json-запрос в свой код внутри вопросительных знаков? https://api.github.com/search/repositories?sort=stars&order=desc&q=created:2013-01-01 ? Это мой код в котлине: class SearchRepository(val apiService: GithubApiService) { fun searchUsers(??????): io.reactivex.Observable<Result> { return apiService.search(query = "?????") } } Спасибо!

Rxjava модифицирует parse api error для пользователя

Я использую RxJava с модификацией в библиотечном проекте. Все работает нормально, я получаю ожидаемый результат, когда я запрашиваю данные. @GET(Routes.ME) fun getUserObservable(): Observable<User> Из класса API: fun getUser(): Observable<User> { return usersService.getUserObservable() } Из основного проекта, который использует эту библиотеку, я получаю пользователя следующим образом: api.getUser().observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe({ user -> println("Get user success : $user") […]

Нет аргумента об ошибке

Я столкнулся с проблемой при отправке тела объекта json с использованием модификации на сервер. Ниже приведена ошибка. Не удалось вызвать общедоступный com.nitesh.brill.saleslines._User_Classes.User_PojoClass.UpdatePreviousDetails () без аргументов фрагмент кода // Конечная точка Api @Headers("Content-Type: application/json") @POST("UpdatePreviousDetails/{Id}") fun updatePreviousDetails(@Path("Id") Id: Int, @Body updateDetails :UpdatePreviousDetails): Call<UpdatePreviousDetails> // класс pojo package com.nitesh.brill.saleslines._User_Classes.User_PojoClass import java.util.* /** * Created by Nitesh Android […]

Как отправить значение params как json array

Мне нужно передать значение параметра запроса для signup api, и значение должно пройти в этом fromat. как я получаю ошибку волейбол 400. Может кто-нибудь помочь, как решить. Json { "number":"12345678", "password":"12345678", "first_name":"abc", "last_name":"xyz", "email":"abc@gmail.com" } также должны проходить контент-тип и аутентификацию в заголовке fun signup(requestp:String,number: String, password: String, firstname: String,lastname: String,email: String) { showDialog() var […]

Как изменить глобальную переменную из реализации анонимного класса в котлин

fun loadTweets(uid: Int) : Observable<ArrayList<Tweet>> { var tweets: ArrayList<Tweet> = ArrayList<Tweet>() val builder: Retrofit.Builder = Retrofit.Builder() .baseUrl(NetworkContract.SERVER_URL) .addConverterFactory(GsonConverterFactory.create()) val retrofit: Retrofit = builder.build() val userService: UserService = retrofit.create(UserService::class.java) val call: Call<List<Tweet>> = userService.loadTweets(uid) call.enqueue(object: Callback<List<Tweet>>{ override fun onResponse(call: Call<List<Tweet>>?, response: Response<List<Tweet>>?) { if(response!!.isSuccessful){ val tweetsTemp: ArrayList<Tweet> = ArrayList<Tweet>() tweetsTemp.add(Tweet("Test!", "Tom")) mTweets = tweetsTemp } } […]

Получать вложения в facebook posts return NullPointerException

Я пытаюсь получить вложения в сообщениях страниц. Это JSON, который я пытаюсь получить: { "attachments": { "data": [ { "media": { "image": { "height": 720, "src": "url", "width": 720 } } } ] }, "id": "post_id" } Мой запрос @GET : @GET("{post_id}") fun getPostsAttachments(@Path("post_id") postId : String?, @Query("access_token") authToken: String?, @Query("fields") media : String?) :Observable<AttachmentsList> […]

как преобразовать json-массив в json-объект

Я использую Retrofit 2 в своем проекте, мое приложение получает данные от API-интерфейсов буксировки api1 и api2 api1: – [{"id":"29867","category_id":"31","author":"admins", "title":"hi","abstract":"","image_name":"","created":"11","body":"hi"}, {"id":"29866","category_id":"14","author":"admins", "title":"hi2","abstract":"","image_name":"img.png","created":"2017-11-16 16:02:00","body":"heloo"}] и api2: – [{"obj":"29867","category_id":"31","obj2":"admins", "title":"hi","abstract":"","image_name":"","created":"11","obj3":"hi"}, {"obj":"29866","category_id":"14","author":"admins", "obj2":"hi2","abstract":"","image_name":"Img.png","created":"2017-11-16 16:02:00","obj3":"Hello"}] Я хочу сделать один класс POJO для обоих API class API_class{ var list:List<api1> =null var list2:List<pi2> =null } class api1{ @SerializedName("id") @Expose var […]

IncompatibleClassChangeError: класс 'java.lang.VirtualMachineError' не реализует интерфейс 'java.lang.CharSequence'

У меня возникают проблемы с моим кодом, и я ничего не могу объяснить, что происходит. Он рушится на Зефир, но не на Нуге, что делает это более странным. Я могу указать на строку, где возникает ошибка, но сама ошибка не ясна. Я не уверен, что сбой и как его предотвратить. Вот подробности: Сбой происходит, когда […]