본문 바로가기
[서버]/[SpringBoot Kotlin]

Controller vs RestController 어노테이션 차이

by Hevton 2022. 12. 1.
반응형

 

 

@Controller

- View를 반환하기 위해 사용 ( 프론트 웹페이지 같은 )

 

Controller를 이용해서 Json, XML 같은 Data를 반환하고 싶을 때도 있습니다. 그럴 때에는 추가로

@ResponseBody 까지 추가해주어야 합니다.

 

 

@RestController

- Data를 반환하기 위해 사용 ( 주로 Json을 위해서 사용하긴 느낌 )

- @Controller + @ResponseBody

- Spring 프레임 워크에서 RESTful 웹 서비스를 보다 쉽게 개발할 수 있도록 Spring 4.0에서 추가되었다.

 

 

 

@Controller의 역할은 Model 객체를 만들어 데이터를 담고 View를 찾는 것이지만,

@RestController는 단순히 객체만을 반환하고, 객체 데이터는 JSON 또는 XML 형식으로 HTTP 응답에 담아서 전송합니다.

 

물론 @Controller와 @ResponseBody를 사용하여 만들 수 있지만 이러한 방식은 RESTful 웹서비스의 기본 동작이기 때문에 Spring은 @Controller와 @ResponseBody의 동작을 조합한 @RestController을 도입했습니다.

 

 

참고

https://mangkyu.tistory.com/49

https://dncjf64.tistory.com/288

 

반응형

'[서버] > [SpringBoot Kotlin]' 카테고리의 다른 글

JSON 구조  (0) 2022.12.01
@RequestMapping을 사용하는 이유  (0) 2022.12.01
DAO vs DTO vs Entity  (0) 2022.11.24
Controller와 Service  (0) 2022.11.24
Maven VS Gradle  (0) 2022.11.23