카테고리 없음

Java Spring boot RestController와 Controller 차이점

최종군 2024. 10. 29. 13:34

 

@Controller : 

spring MVC에서 View를 반환하는 컨트롤러이다. 

 

View 반환 : @Controller는 보통 JSP, Thymeleaf, Html 등의 뷰 템플릿을 반환한다. 

Model : Model  객체를 통해 뷰에 데이터를 전달할 수 있다

 

@Controller는 HTTP 응답에 JSON 또는 XML을 직접 반환하지 않으며, 

데이터를 직접 반환하려면 @ResponseBody 어노테이션을 추가해야된다. 

 

@RestController : 

 

RESTful 웹 서비스 만들기 위해서 사용이 된다. 

JSON과 XML 같은 데이터를 바로 반환하는 데 주로 사용이 된다. 

 

@RestController는 메서드가 반환하는 데이터가 뷰가 아닌 

JSON 또는 XML 형식으로 반환이 된다. 

 

@RestController는 @Controller와 @ResponseBody가 결합된 어노테이션이다

 

따라서 메서드에 @ResponseBody를 추가할 필요가 없이 바로 데이터를 반환할 수 있다.