안녕하세요


제가 스프링으로 api 서버를 만들고 현재 로그인 기능을 만들고 있습니다. 


인터셉터를 이용해서 로그인 하지 않은 클라이언트의 api 요청을 거르려고 하는데요 이때 클라이언트에게 로그인이 필요하다고 응답으로 알려주고 싶습니다.


인터셉터에서 로그인을 하지 않을 것을 알아냈다면 아래와 같이 HttpServletResponse 객체의 sendError를 통해 해결하면 되나 했는데요

if(session == null || session.getAttribute("memberId") == null){
response.sendError(400, "로그인 실패");
return false;
}

이 방법이 api 서버라서 그런지 작동하지 않는 것 같습니다.


만약 인터셉터에서 걸려서 응답으로 로그인이 필요하다는 것을 알려주고 싶다면 

1. NotLogInUser 같은 예외를 만들고 인터셉터에서 던지고

2. @ControllerAdvice를 이용해서 글로벌 예외 처리기를 만들어서 여기서 오류와 오류 메세지를 담은 ResponseEntity를 반환해야 하나요

그런데 로그인 처리 하나 때문에 글로벌 예외 처리기도 만들고 하는게 별로인 거 같습니다.


혹시 더 좋은 방법이나 실무에서는 어떻게 하는지 알고 있으신 분 있나요