【发布时间】:2018-01-29 03:23:53
【问题描述】:
我正在尝试在 Kotlin 中实现这个 getting started with Retrofit for Android。我已经创建了Retrofit 类的实例,但是当我尝试在接口中调用端点方法时,Kotlin 似乎并不喜欢它没有回调参数。这是所有相关代码。
数据类:
data class GitHubRepo(val id:Int,val name:String)
界面:
interface GitHubClient {
@GET("/users/{user}/repos")
fun reposForUser(@Path("user") user: String,callback: Callback<List<GitHubRepo>> )
}
改造实施:
val httpClient = OkHttpClient.Builder()
val builder = Retrofit.Builder().baseUrl(API_BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
val retrofit = builder.client(httpClient.build()).build()
val client = retrofit.create(GitHubClient::class.java)
val call = client.reposForUser("fs-opensource") <-- Error - No value passed for parameter 'callback'
来自教程:
您不会将回调作为最后一个参数传递。您使用 客户端获取调用对象。一旦你在 已创建调用对象,请求将由 Retrofit 发出
如何在 Kotlin 中实现这一点?
【问题讨论】: