gpt4 book ai didi

java - 如何为除一两个以外的所有 API 请求添加拦截器?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:27:16 28 4
gpt4 key购买 nike

我知道可以通过 OkHttpClient 向所有请求添加拦截器,但我想知道是否可以向 Okhttp 中的所有请求添加 header ,除了对于一个或两个使用 OkHttpClient 的请求。

例如,在我的 API 中,除了 oauth/token(获取 token )和 api/users(注册用户)路由。是否可以一步为使用 OkHttpClient 的排除请求之外的所有请求添加拦截器,还是应该为每个请求单独添加 header ?

最佳答案

我找到答案了!

基本上我像往常一样需要一个拦截器,我需要检查那里的 URL 以了解我是否应该添加授权 header 。

import java.io.IOException;

import okhttp3.Interceptor;
import okhttp3.Request;
import okhttp3.Response;

/**
* Created by Omar on 4/17/2017.
*/

public class NetInterceptor implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request();
if (request.url().encodedPath().equalsIgnoreCase("/oauth/token")
|| (request.url().encodedPath().equalsIgnoreCase("/api/v1/users") && request.method().equalsIgnoreCase("post"))) {
return chain.proceed(request);
}
Request newRequest = request.newBuilder()
.addHeader("Authorization", "Bearer token-here")
.build();
Response response = chain.proceed(newRequest);
return response;
}
}

关于java - 如何为除一两个以外的所有 API 请求添加拦截器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43449394/

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