title: java.lang.IllegalArgumentException: No Retrofit annotation found. (parameter #4)
body: <p>I am trying to connect to a REST API endpoint</p>
  
  <p>The following is my WebService.kt</p>
  
  <pre><code>package &lt;package_name&gt;.data.services
  
  import ch.iazi.paidrent.BuildConfig
  import ch.iazi.paidrent.models.DefaultParameters
  import retrofit2.Response
  import retrofit2.http.GET
  import retrofit2.http.Headers
  import retrofit2.http.Query
  
  interface WebService {
  
      companion object{
           const val ENDPOINT_DEFAULT_PARAMETERS = "/appDefaultParameterValues"
      }
  
     @Headers("Content-Type: application/x-www-form-urlencoded")
     @GET(BuildConfig.APPVERSION + ENDPOINT_DEFAULT_PARAMETERS)
     suspend fun getDefaultParameters(
        @Query("app") app: String,
        @Query("tid") tid: Long,
        @Query("uid") uid: String
     ): Response&lt;DefaultParameters&gt;
  
  }
  </code></pre>
  
  <p>This is my Repository.kt - </p>
  
  <pre><code>package &lt;package_name&gt;.data
  
  import androidx.lifecycle.LiveData
  import &lt;package_name&gt;.data.services.ServiceBuilder
  import &lt;package_name&gt;.data.services.WebService
  import &lt;package_name&gt;.models.DefaultParameters
  import kotlinx.coroutines.CoroutineScope
  import kotlinx.coroutines.Dispatchers.IO
  import kotlinx.coroutines.launch
  
  object Repository{
  
      val API = ServiceBuilder.buildWebService(WebService::class.java)
  
      fun getDefaultParameters(app:String,tid:Long,uid:String):LiveData&lt;DefaultParameters&gt;{
          return object : LiveData&lt;DefaultParameters&gt;(){
              override fun onActive() {
                  super.onActive()
                  CoroutineScope(IO).launch {
                      val response = API.getDefaultParameters(app,tid,uid)
                      print(response)
                  }
              }
          }
      }
  
  }
  </code></pre>
  
  <p>This is my logcat when i call the method in the repository:-</p>
  
  <pre><code>2020-03-02 15:15:48.112 13174-13251/&lt;package_name&gt; E/AndroidRuntime: FATAL EXCEPTION: DefaultDispatcher-worker-1
      Process: &lt;package_name&gt;, PID: 13174
      java.lang.IllegalArgumentException: No Retrofit annotation found. (parameter #4)
          for method WebService.getDefaultParameters
          at retrofit2.Utils.methodError(Utils.java:52)
          at retrofit2.Utils.methodError(Utils.java:42)
          at retrofit2.Utils.parameterError(Utils.java:61)
          at retrofit2.RequestFactory$Builder.parseParameter(RequestFactory.java:311)
          at retrofit2.RequestFactory$Builder.build(RequestFactory.java:182)
          at retrofit2.RequestFactory.parseAnnotations(RequestFactory.java:65)
          at retrofit2.ServiceMethod.parseAnnotations(ServiceMethod.java:25)
          at retrofit2.Retrofit.loadServiceMethod(Retrofit.java:168)
          at retrofit2.Retrofit$1.invoke(Retrofit.java:147)
          at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
          at $Proxy1.getDefaultParameters(Unknown Source)
          at ch.iazi.paidrent.data.Repository$getDefaultParameters$1$onActive$1.invokeSuspend(Repository.kt:20)
          at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
          at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
          at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
          at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
          at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:740)
  </code></pre>
  
  <p>I have annotated all 3 parameters in my interface definition with @Query annotation.
  The log message shows parameter #4 . However I do not have 4 parameters in my endpoint call. 
  Am I missing something here ?</p>