【发布时间】:2019-05-20 16:11:36
【问题描述】:
我尝试同时学习 kotlin 和 retrofit 2。我有这个代码。
我想从this 获取所有/posts。但它总是返回一个失败代码。我是这方面的新手,谢谢
网络接口
interface APIService {
@GET("/posts")
fun getPosts(): Call<List<UserData>>
POJO 类
open class UserData {
@SerializedName("userId")
@Expose
open var user_id: Int? = null
@SerializedName("id")
@Expose
open var id: Int? = null
@SerializedName("title")
@Expose
open var title: String? = null
@SerializedName("body")
@Expose
open var body: String? = null
}
MainActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val retrofit = Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.baseUrl("https://jsonplaceholder.typicode.com/")
.build()
val service = retrofit.create(APIService::class.java)
service.getPosts().enqueue(object : Callback<List<UserData>> {
override fun onFailure(call: Call<List<UserData>>?, t: Throwable?) {
Log.d("RetrofitTest", t.toString())
}
override fun onResponse(call: Call<List<UserData>>?, response: Response<List<UserData>>?) {
Log.d("RetrofitTest", "onFailure")
}
})
}
}
【问题讨论】:
-
在
onResponse你已经登录onFailure,你确定你没有对此感到困惑吗? -
哦,天哪,对不起我的愚蠢错误..
标签: android api kotlin retrofit retrofit2