首页 > 解决方案 > 改造 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")
        }

    })
}
}

标签: androidapikotlinretrofitretrofit2

解决方案


在 APIService 接口 @GET("posts") 中插入 @GET("/posts")


推荐阅读