0
我正在使用Retrofit和RequestInterceptor。改進更改RequestInterceptor
問題是我發送的每個請求都有不同的Header「Accept」,所以我需要在每次創建請求時都使用RequestInterceptor更改「Accept」標頭。
到目前爲止,我正在做這樣的:
private void updateApiMethodsFor(final String linkName) {
JacksonConverter jacksonConverter = new JacksonConverter();
RestAdapter restAdapter = new RestAdapter
.Builder()
.setLogLevel(RestAdapter.LogLevel.FULL)
.setEndpoint(ROOT_URL)
.setConverter(jacksonConverter)
.setRequestInterceptor(new RequestInterceptor() {
@Override
public void intercept(RequestFacade request) {
ApiIndexLink1 apiIndexLink = getIndexLinkForName(linkName);
if (apiIndexLink != null) {
request.addHeader("Accept", apiIndexLink.getContentTypes().getContentTypeList().get(1));
}
}
})
.build();
apiMethods = restAdapter.create(BCApiMethods.class);
}
的問題是,如果我把這每一次之前,我提出一個要求,實在是太貴了。有沒有更好的方法來解決這個問題?