Controller 와 RestController는 무슨 차이?

2022. 1. 3. 03:09
반응형

Controller는 페이지를 반환하지만(model and view)

RestController는 객체 데이터만을 주고받는다. (json or xml)

 

만약 프론트 단에서 페이지를 그려준다면 RestController로 데이터만을 받아서 그려주면 되지만

그렇지 않다면 Controller가 페이지까지 그려주어야 한다.

 

서버단에서 그려주는 것이 Server side Rendering (SSR)이고

프론트단에서 그려주는 것이 Client side Rendering (CSR)이다.

 

@Controller 어노테이션이 붙어 있다고 해도

하위 메소드에 @ResponseBody 어노테이션을 붙여서 데이터만을 주고 받을 수 있다.

페이지까지 반환하지 않아도 되는 경우에는 이 부분을 RestController로 독립시킬 수 있을 것이다.

ex) 페이지는 컨트롤러가 그려주고 하단의 데이터만 뿌려주면 되는 게시글 댓글목록 같은 경우

     (페이지를 그려주고 내용을 표시하는 게시글 컨트롤러가 있을 것이니, 댓글은 데이터만 넘겨주면 되는 것이다)

 

RestController는 또한

매핑을 GET POST PUT DELETE 로 나눈다

(기존 Controller는 GET POST 두 가지)

반응형

'BE > Spring' 카테고리의 다른 글

Quartz Scheduler 쓸 때 실행된 job이 서버를 중단해도 안 죽어  (0) 2022.03.06
url 뒤에 .json이 왜 안되는 거야?  (0) 2022.02.20
AOP  (0) 2022.02.12
로그인 인터셉터  (0) 2022.01.03
Tiles Framework 3.0.8 써본 후기  (0) 2021.11.27

BELATED ARTICLES

more