2016-01-11 65 views
1

我有四種不同的API,它們中的每一個都有它自己的頭文件。 我嘗試使用攔截器機制來填充標題,而不是給每個調用相同的標題,但由於OkHttp攔截器爲每個請求運行,我不能使每個API的攔截器。翻新中的每個API的攔截器2

我在Retrofit2中沒有找到任何其他機制,這將允許我避免爲每個請求編寫相同的頭文件。

什麼是一個很好的方式來給一堆調用相同的頭文件?

+0

你可以給okhttp攔截和okclient添加到改造建設者 – Fabian

+0

我需要配置一些不同的okhttp客戶,因爲每個改造API有不同的攔截器。 – danidin

回答

0

我有同樣的問題。我需要將Cache Headers添加到基於API接收的響應中。

爲了解決這個問題,我使用了一個攔截器,該攔截器可以評估響應的URL並取決於添加/刪除緩存標題。

有關問題的攔截器會是這樣的,

public class HeaderInterceptor implements Interceptor { 

    @Override 
    public Response intercept(Chain chain) throws IOException { 
     Request request = chain.request(); 
     HttpUrl url = request.url(); 

     // Add headers depending upon the url 
     // Proceed the request 
    } 
} 

這個攔截器添加到您的OkHttp客戶端,它會特別頭添加到一個組調用。

希望它有幫助。