gpt4 book ai didi

android - 从响应中获取 header (改造/OkHttp 客户端)

转载 作者:IT老高 更新时间:2023-10-28 12:47:27 30 4
gpt4 key购买 nike

我正在使用带有 OkHttp 客户端和 Jackson 的 Retrofit 进行 Json 序列化,并希望获取响应的 header 。

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

我基本上需要的是将 header 与反序列化的 Json 对象放在一起。

最佳答案

使用Retrofit 1.9.0,如果使用Callback异步版本的接口(interface),

@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>>

关于android - 从响应中获取 header (改造/OkHttp 客户端),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30777419/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com