상황: 인터셉터 로그인 기능을 구현하고 탈퇴 기능 테스트를 하던 중 NotFoundMemberExcepiton
이 발생
원인: argumentResolver
를 WebMvcConfigurer
에 등록하지 않음
@Configuration
@RequiredArgsConstructor
public class AuthConfig implements WebMvcConfigurer {
private final LoginInterceptor loginInterceptor;
private final AuthenticationPrincipalArgumentResolver authenticationPrincipalArgumentResolver;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(loginInterceptor)
.addPathPatterns("/**")
...
}
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
resolvers.add(authenticationPrincipalArgumentResolver);
WebMvcConfigurer.super.addArgumentResolvers(resolvers);
}
}
addArgumentResolvers
를 오버라이딩하여 authenticationPrincipalArgumentResolver
를 등록해주면 된다.
저걸 해결하기 전까지는 사용자 인증 정보를 처리해주는 authenticationPrincipalArgumentResolver
를 만들어 놓기만 하고 쓰지를 않았다,,,
진짜 바보같이 이 사실을 놓치고 구현 다 했다고 생각한 내가 레게노,,,