android-阻止请求拦截器进行翻新?

有没有实现“阻止”请求拦截器的好方法

主要思想是应拦截所有请求并添加其他标头-令牌.

如果令牌不存在,则应首先对其进行检索,然后将其添加到该请求中并缓存以备将来使用.通过API调用检索令牌.

我尝试执行同步请求,但是会产生android.os.networkonmainthreadException.使用in_progress标志实现它看起来并不好.

解决方法:

您已经可以使用RequestInterceptor完成此操作的“拦截”部分.只需使用RestAdapter.Builder.setRequestInterceptor().

不过,最好从RequestInterceptor外部的API中检索令牌,因为这并不是要这样做.第一次调用后,您可以在RequestInterceptor.intercept()中的请求中的任何位置添加令牌.

像这样:

Builder builder = new RestAdapter.Builder()
//Set Endpoint URL, Retrofit class... etc
.setRequestInterceptor(new RequestInterceptor() {
       @Override
       public void intercept(RequestFacade request) {
           String authToken = getAuthToken(); //Not included here, retrieve the token.
           request.addHeader("Authorization", "Bearer " + authToken);
       }
);

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...