Android: How to use URL parameters with Retrofit in Kotlin.

Let’s say you have an Android app and you want to download a JSONArray from a URL that requires parameters using Retrofit in Kotlin.

How would you go about making this happen?

Well first, here’s an example of a possible URL:

The parameter “id” is dynamically inputted depending on the request you need.

How do you make that happen in Retrofit.

You simply need to replace the “?id=201” of the URL and set it up as @Query parameter, as such: @Query(“id”) id: Int.

Here’s an example of what you interface would look like.

interface WebService {

    fun getTripCoord(
            @Header("Authorization") token: String,
            @Query("id") id: Int
            ): Deferred<JSONArray>

    companion object{
        operator fun invoke(
            connectivityInterceptor: ConnectivityInterceptor
            val okHttpClient = OkHttpClient.Builder().addInterceptor(connectivityInterceptor).build()
            return Retrofit.Builder()