簡體   English   中英

在翻新中將標題令牌選擇性地添加到標頭

[英]Add bearer token selectively to header in Retrofit

我想知道是否有任何選項可基於Retrofit中的標記或注釋啟用/禁用標頭攔截器。 由於我的API中很少有不需要令牌的路徑,因此我需要跳過將令牌添加到這些API調用中。

目前,我有一個簡單的攔截器,它將為我的應用程序發出的所有請求添加標頭

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

    return chain.proceed(request);
});

我前一段時間對此進行了研究,但開箱后沒有發現翻新提供的任何解決方案,但是您可以輕松地自己實施解決方法。

只需使用您選擇的標頭注釋該請求,例如“ NoAuth:true”,然后在攔截器中檢查此標頭:

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());
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM