android - 改造 2 请求总是失败 - Kotlin
问题描述
我试图同时学习 kotlin 和 retrofit 2。我有这个代码。
我想从中获取所有 / 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
}
主要活动
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")
}
})
}
}
解决方案
在 APIService 接口 @GET("posts") 中插入 @GET("/posts")
推荐阅读
- javascript - 请有人解释一下下面提到的功能之间的区别
- javascript - 商店无法识别调度员的删除操作
- spring - 尝试显示.jsp时出现Spring MVC tomcat常量404错误
- python - 在numpy中对点数组进行排序
- c# - C#(将 DataSet 转换为多个 CSV 字符串,保留类型并转换回来)
- java - 创建后将jbutton添加到jpanel
- python - 读取 Celery 提交的 Redis 消息
- r - ggplot2,排列多个图,大小都一样,中间没有间隙
- asp.net-core - 为什么 CORS 会阻止 .NetCore 中的角度请求
- ios - 防止子视图被导航栏隐藏