我正在构建一个Android应用程序,该应用程序将从REST API中获取数据。
对于我的所有请求,我添加一个RequestInterceptor,它将为我的所有请求添加标头(授权)。在RequestInterceptor中,我正在对当前的access_token调用一个方法,然后将标头填充到请求中。
RequestInterceptor requestInterceptor = new RequestInterceptor() {
@Override
public void intercept(RequestFacade request) {
Token token = TokenPreferences.getToken();
request.addHeader("Authorization", token.getTokenType() + " " + token.getAccessToken());
}
};
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint("https://example.com")
.setRequestInterceptor(requestInterceptor)
.build();
...
Run Code Online (Sandbox Code Playgroud)
在access_token过期之前,此方法可以正常工作,然后请求将失败,且HTTP状态为401 Unauthorized。发生这种情况时,我想发出一个新请求以从我得到的refresh_token中获取一个新的access_token,然后再次执行第一个请求。
我不太确定如何进行这项工作。
我正在为java项目做验证规则,我得到的一个要求是:
"身份证地址应包含不少于八(≥8)个汉字(不包括全宽/半宽符号)."
我无法理解如何解决这个问题.
我已经达到了可以验证中文字符但无法排除所有全宽/半宽符号的程度.
return Pattern.matches("^[\\p{IsHan}]{8,}$", address);
Run Code Online (Sandbox Code Playgroud)
结果应该是这样的
有人有建议吗?