Атрибут запроса не может получить доступ в весеннем микро-сервисе - PullRequest
0 голосов
/ 16 июня 2019

Я устанавливаю атрибут запроса в переопределенном методе doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) класса OncePerRequestFilter, но мне не удается получить атрибут запроса в моем сервисе.

public class AuthenticationFilter extends OncePerRequestFilter {
    protected void doFilterInternal(HttpServletRequest httpServletRequest,
      HttpServletResponse httpServletResponse, FilterChain filterChain)
      throws ServletException, IOException {
      ....
      .....
      httpServletRequest.setAttribute("testing","testing");
       filterChain.doFilter(httpServletRequest, httpServletResponse);

    }
}


 @RequestMapping(
      value = "/index/{index:.+}",
      method = RequestMethod.GET,
      produces = { MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE })
  public ResponseEntity<RestApiModelResponse> getIndex(
      @PathVariable String index,
     HttpServletRequest httpServletRequest)
      throws Exception {
    var test = httpServletRequest.getAttribute("testing");

}

Здесь я получаю нулевое значение в тестовой переменной..

1 Ответ

0 голосов
/ 16 июня 2019

Вам необходимо определить фильтр как @ Component

@Component
public class AuthenticationFilter extends OncePerRequestFilter { 

Чтобы Spring мог распознавать фильтр, нам нужно было определить его как компонент с аннотацией @Component

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...