【发布时间】:2019-06-09 08:38:42
【问题描述】:
我正在使用 Retrofit 处理 API 请求。在我的应用程序中,我在标题和正文中获取数据作为响应。我们都知道“body”我们可以通过使用一些使用 Gson 或 Jackson 等的库将其转换为 POJO,以类似的方式,无论如何我们可以将标题作为 POJO 吗?或者建议在一个 POJO 类中同时制作 header 和 body 的最佳方法。
注意:在标题和正文中,我以 Json 格式获取数据
下面是我用来发送请求的代码。
override fun login(request: LoginModel.Request) {
val call: Call<LoginModel.Response> = apiService.login(request)
call.enqueue(object : Callback<LoginModel.Response> {
override fun onResponse(call: Call<LoginModel.Response>, response: Response<LoginModel.Response>) {
// Log.d(TAG, "login success")
if (response != null) {
val status = response.code()
var headers = response.headers();
var names = headers.names();
for (name:String in names ) {
Log.d("Testing","name:"+name+" value:"+headers.get(name))
}
if (response.body() != null) {
var loginResponse: LoginModel.Response = response.body() as LoginModel.Response;
if (status == 200) {
responseCallback?.onSuccess(loginResponse)
} else {
responseCallback?.onFailure(loginResponse)
}
}
}
}
override fun onFailure(call: Call<LoginModel.Response>, t: Throwable) {
responseCallback?.onFailure("Something went wrong while login")
}
})
}
【问题讨论】:
标签: android http-headers retrofit retrofit2