알림기능을 구현하면서, 알림을 눌렀을 때 알림 읽음 여부를 확인할 수 있어야 한다. 그 알림을 눌렀을 때 상태를 바꾸면 되지만, 그러면 그 게시글로 이동은 어떻게 처리해야할까?

그 알림에 해당하는 어떤 게시글이나 다른 URL로 이동할 수 있도록 리다이렉트를 시켜주면 될 것 같다.

알림의 상태를 바꾸는 작업을 하면서 관련 URL을 생성하여 리턴하고, 그 값을 response에 담아 리다이렉트 한다.

일반 Controller를 사용할 때에는 redirect라는 문자열을 입력하여 ViewResolver를 통해 리다이렉트를 시키거나, RedirectView 클래스를 이용할 수 있다. (redirect 문자열을 사용하면 상대경로를 사용할 수 있다)

헌데 @RestController@ResponseBody@Controller의 조합이기 때문에 Http body로 응답한다.

방법은 HttpServletResponse를 직접 사용하는 것인데, 권장되지 않는다. thread-safe 하지 않기 때문이다. Servlet을 좀 더 이해할 필요가 있다.

How servlet works?