Я хочу перехватить запрос и добавить access_token в заголовок с помощью симметричного RequestInterceptor.
Но когда я отлаживаю в перехватчике, я не могу получить атрибуты. это ноль.
Как я могу получить это?
@Override
public void apply(RequestTemplate requestTemplate) {
//the attributes is null, what happened
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder
.getRequestAttributes();
if(ObjectUtil.isNull(attributes))
{
return;
}
HttpServletRequest request = Objects.requireNonNull(attributes).getRequest();
if(ObjectUtil.isNull(request))
{
return;
}
if(request.getRequestURI().contains(SecurityConstants.MOBILE_TOKEN_URL))
{
requestTemplate.header("x-access-type", SecurityConstants.ACCESS_TYPE_PATIENT);
return;
}
if(request.getRequestURI().contains(SecurityConstants.REGISTER_TOKEN_URL))
{
requestTemplate.header("x-access-type", SecurityConstants.ACCESS_TYPE_PATIENT);
return;
}
Enumeration<String> headerNames = request.getHeaderNames();
if (ObjectUtil.isNotNull(headerNames)) {
while (headerNames.hasMoreElements()) {
String name = headerNames.nextElement();
if(name.equalsIgnoreCase("Authorization")) {
String values = request.getHeader(name);
requestTemplate.header(name, values);
break;
}
}
}
}