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
'IT > Spring' 카테고리의 다른 글
[spring boot] 기본 환경 설정(lombok) + 화면 띄우기 (0) | 2020.09.22 |
---|---|
[spring boot] 스프링부트 채팅 프로그램 만들기 #2 (0) | 2020.09.21 |
[spring boot] 스프링부트 채팅 프로그램 만들기 #1 (0) | 2020.09.21 |
[spring 게시판 만들기 #7] 게시물 선택 삭제 (0) | 2020.09.14 |
[spring 게시판 만들기 #6] 게시물 삭제 Delete (0) | 2020.09.14 |