IT/Spring

Rest Controller 와 Controller의 차이

jaewon_sss 2020. 11. 5. 11:25
반응형

rest controller 와 controller 차이 


[기존 controller-view] : view를 반환하는 경우




1. Client는 URI 형식으로 웹 서비스에 요청을 보낸다.


2. Mapping되는 Handler와 그 Type을 찾는 DispatcherServlet이 요청을 인터셉트한다.


3. Controller가 요청을 처리한 후에, 응답을 DispatcherServlet으로 반환하고,

DispatcherServlet은 View를 사용자에게 반환한다.





[기존 Controller-Data(VO, DTO)] : 데이터를 반환하는경우





1. Client는 URI 형식으로 웹 서비스에 요청을 보낸다.


2. Mapping되는 Handler와 그 Type을 찾는 DispatcherServlet이 요청을 인터셉트한다.


3. @ResponseBody를 사용하여 Client에게 Json 형태로 데이터를 반환한다.





전체 페이지를 불러오는 경우 : Form 기반으로 Request 를 보내고, Model에 add를 하여서 return

-----------------------------------------------------------------------------------------------------------------------------------------------------------------




[변경 controller] : view가 아닌 REST방식의 객체 데이터를 Json 형태로 return



1. Client는 URI 형식으로 웹 서비스에 요청을 보낸다.

2. Mapping되는 Handler와 그 Type을 찾는 DispatcherServlet이 요청을 인터셉트한다.

3. RestController는 해당 요청을 처리하고 데이터를 반환한다.



Ajax로 비동기로 처리 경우 :  json의 형태로 데이터만 반환받아서 이미 로드된 화면에 데이터만 업데이트 




@RestController = @Controller + @ResponseBody

[REST : HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다.]



(ResponseBody를 모든 메소드에서 적용한다)





AJAX 로 비동기 처리는 json 형태로 데이터만 반환받아서 이미 로드된 화면에 데이터만 업데이트하는데...

RestController 는 json 형태로 Return 한다??


템플릿에 작성한 AJAX 는 Restcontroller 와 연결을 하는 것임을 알게 되었다.





참고 : https://mangkyu.tistory.com/49

반응형