컨트롤러에서 에러가 발생했을 경우,


에러에 대한 정보를

리스폰스로 넘겨주고, 프론트에서 해당 에러로그를 출력해주길 바라는 요청이 들어왔었어.



나는 그래서 일부러 컨트롤러 안에서 널포인터 익셉션을 발생시킨 후, 리스폰스가 어떻게 전달되나 관측을 하기 위해


포스트맨으로 리퀘스트를 모킹해서 보낸 후 포스트맨으로 리스폰스를 있는 그대로 확인할 생각이었지.




여기서 포스트맨으로 리퀘스트를 보낼때 스프링 시큐리티가 큰 장애물이었는데



1. 포스트맨 또한 세션을 쓴다. (사실 이부분 좀 헷갈리는데, 세션이라는게 서버를 껏다 켜도 유지가 되는건지 좀 의아함. 이상하게 현재 서버를 재작동하더라도 세션이 그대로 남아있음... 뭐지? 세션은 서버에 저장되는거 아니었나? 이거 좀 진짜 잘 모르겠음. 스프링 시큐리티를 공부해보고 우리회사코드를 다시 좀 뜯어봐야돼)


2. 현재 우리회사 코드는 세션을 써서 인증을 하는 방식인것 같다. (토큰 탈취방식으로 가볍게 시큐리티를 넘나드는것은 불가)


3. 그래서 포스트맨으로 직접 로그인작업을 하고 세션과 토큰을 설정해준후 (세션이 설정되는가 함은 뇌피셜임) 해당 토큰으로 접근했음.

탈취 토큰은 안되고, 직접 로그인으로 얻어낸 토큰은 작동하는거 보면 세션이란게 있긴 있는거같음.





리스폰스를 살펴보니까


RestController 때는 html로 대답하지 않았던거같은데


그냥 컨트롤러는 html로 대답함.

그리고 에러랑 관련없이 정해진 페이지를 보내더라.

이 부분 설정으로 손 볼수 있을거같은데 손 봐야할거같음.



그리고, RestController 랑, Controller 에서 ResponseBody 한거랑 이런부분에서 차이가 좀 있는 듯 해서


이것도 설정을 좀 만져야할듯함.


에러가 떴을때 어떤 처리가 이루어지는지!!


RestController는 에러를 그대로 바디에 담아서 보내줬던 기억임.