Trying to access data from api by retrofit, but I am unable to link with service class apiInterface which I have created

Viewed 46

To access api by Retrofit , Retrofit builder object i am able to use retrofitbuilder object , connect url , build but not able to attach my service class apiInterface which i have created .

private fun getmydata() {
                  lateinit var myAdapter: RecyclerAdapter
    val retrofitBuilder = Retrofit.Builder()
        .addConverterFactory(GsonConverterFactory.create())
        .baseUrl(myuri)
        .build();
    var api : apiInterface = retrofitBuilder.create(apiInterface::class.java)

Error : Create extension property 'KClass.java'

1 Answers
private fun getClient(): Retrofit? {
        val interceptor = HttpLoggingInterceptor()
        interceptor.setLevel(HttpLoggingInterceptor.Level.BODY)
        val client: OkHttpClient = OkHttpClient.Builder()
            .addInterceptor(interceptor)
            .retryOnConnectionFailure(true)
            .build()
        return Retrofit.Builder()
            .baseUrl("Your Base URL")
            .addConverterFactory(GsonConverterFactory.create())
            .client(client)
            .build()
    }

private fun apiCall() {

        val firstname = "123"
        val lastname = "234"
        val email = "345@6.com"
        val username = "132456"
        val pw = "12345678"

        val call = getClient()!!.create(/*Your API Interface Class*/Api::class.java).createUser(
            firstname,
            lastname,
            email,
            username,
            pw
        )

        call.enqueue(object : Callback<UserResponse> {
            override fun onResponse(call: Call<UserResponse>, response: Response<UserResponse>) {
                Toast.makeText(this@MainActivity, response.code().toString()
                        + " " + response.body().toString(), Toast.LENGTH_SHORT).show()
            }

            override fun onFailure(call: Call<UserResponse>, t: Throwable) {
                Toast.makeText(this@MainActivity, t.localizedMessage!!.toString(),
                    Toast.LENGTH_SHORT).show()
            }
        })
    }
Related