gpt4 book ai didi

android - 在 Retrofit 中有选择地向 header 添加不记名 token

转载 作者:行者123 更新时间:2023-11-29 19:27:19 28 4
gpt4 key购买 nike

我想知道是否有任何选项可以根据 Retrofit 中的标志或注释启用/禁用 header 拦截器。由于我的 API 中几乎没有不需要 token 的路径,因此我需要跳过向这些 API 调用添加 token 的步骤。

目前我有一个简单的拦截器,它将为我的应用程序发出的所有请求添加一个 header

//builder is of type OkHttpClient.Builder
builder.addInterceptor(chain -> {
Request request = chain.request().newBuilder().
addHeader("authorization", "Bearer foofootoken").build();

return chain.proceed(request);
});

最佳答案

我前段时间对此进行了研究,但我没有找到开箱即用的改造提供的任何解决方案,但您可以轻松地自行实现解决方法。

只需使用您选择的 header 注释请求,例如“NoAuth: true”并在拦截器中检查此 header :

builder.addInterceptor(chain -> {
String noAuthHeader = chain.request().header("NoAuth");
Request.Builder request = chain.request().newBuilder();
if(noAuthHeader == null || !noAuthHeader.equals("true")){
request.addHeader("authorization", "Bearer foofootoken").build();
}

return chain.proceed(request.build());
});

关于android - 在 Retrofit 中有选择地向 header 添加不记名 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41032720/

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