SpringFramework/BASIC

미완성 [RestAPI] REST컨트롤러에서 뷰리졸버나 redirect하는방법

유혁스쿨 2020. 9. 9. 21:28
728x90
반응형

REST방식의 RestController에서도 뷰리졸버를 통해 특정 뷰페이지로 이동하거나 리다이렉트 해야할 일이 생깁니다.

만약 메서드방식을 String타입의 메서드로 선언해준다면 JSON형식의 데이터가 return으로 넘어가기때문에 뷰리졸버도, redirect도 작동하지 않게됩니다.

 

쉽게 뷰리졸버 같은경우에는 void형식으로 메서드를 만들어 주면 됩니다.

하지만 redirect를 하기위해서는 생각을 좀 해봐야합니다.

이럴때 쓰이는것이 ModelAndView입니다.
ModelAndView 타입으로 메서드를 선언하고, 해당 객체를 사용하면 redirect나 뷰리졸버를 사용할수 있게 되고
심지어 서버를 활용해 addObject로 파라미터로값도 따로 보낼수있게 되겠죠 
다만,,,, 이렇게된다면 이 메서드에서는 RestAPI 기능은 사용하지 못하겠죠?

혹은 서블릿방법도 사용이 가능해집니다 
뷰리졸버 방식과 마찬가지로 메서드 리턴타입을 void형으로 바꾼 후 매개변수로 HttpServletResponse response 를 받은 뒤  response.sendRedirect("/"); return response;
하지만 이것은 파라미터를 넘길 방법이 없겠네요...

728x90
반응형