본문 바로가기
Java , Spring/Spring

[Spring] @Controller 와 @RestController

by 방배킹 2023. 8. 7.

@Controller

안에 @Component가 있어서 자동으로 빈에 등록된다. 

 

@Controller는 반환값이 String이면 뷰 이름으로 인식하고 해당 뷰를 렌더링 해준다.

 

@RestController

@RestController는 @Controller에 @ResponseBody가 추가된 것이다.

 

@Controller는 반환값이 String이면 뷰 이름으로 인식한다. 따라서 뷰를 찾고 뷰가 렌더링된다. 하지만 @RestController는 반환값으로 뷰가 아니라 HTTP 메시지 바디에 바로 입력한다.

 

이때 상태코드를 설정하기 까다로워서 @ResponseStatus(HttpStatus.OK)를 사용한다.

댓글