从响应获取标头(Retrofit / OkHttp客户端)

我正在使用OkHttp客户端和Jackson的Retrofit进行Json序列化,并想获取响应的标头。

我知道我可以扩展OkClient并拦截它。但这是在反序列化过程开始之前进行的。

我基本上需要的是将标头与反序列化的Json Object一起使用。

回答:

在Retrofit 1.9.0中,如果您使用接口的回调异步版本,

@GET("/user")

void getUser(Callback<User> callback)

然后您的回调将收到一个Response对象

    Callback<User> user = new Callback<User>() {

@Override

public void success(User user, Response response) {

}

@Override

public void failure(RetrofitError error) {

}

}

其中有一个方法叫做 getHeaders()

    Callback<User> user = new Callback<User>() {

@Override

public void success(User user, Response response) {

List<Header> headerList = response.getHeaders();

for(Header header : headerList) {

Log.d(TAG, header.getName() + " " + header.getValue());

}

}

对于Retrofit 2.0的界面,您可以使用进行操作Call<T>

对于Retrofit 2.0的Rx支持,您可以使用

Observable<Result<T>>

以上是 从响应获取标头(Retrofit / OkHttp客户端) 的全部内容, 来源链接: utcz.com/qa/424523.html

回到顶部