항해99 TIL 4주차 - 24

강민범·2023년 11월 17일
0

오늘의 TIL은 내가 과제를 진행하면서 애매모호하게 알았던 애너테이션이나 개념들에 대해 정리해보려고한다.

@RestController vs @Controller

Spring MVC를 구현하다보면 Controller 패키지에서 @Controller 또는 @RestController를 사용한적이 있을거다.

@Controller

주로 View를 반환하기 위해 주로 사용한다. Controller러가 반환된 View로부터 렌더링하기 위해서는 ViewResolver가 사용되며 ViewResolver의 설정에 맞게 View를 찾아 렌더링한다.

@RestContoller

주로 Json형태로 객체 데이터를 반환하는데 사용한다.
RestAPI를 개발하는데 많이 사용된다. @Controller에 @ResponseBody를 함께쓰는것과 동일하다.

ResponseEntity란 무엇인가?

Controller에서 반환되는 값을 ResponseEntity에 감싸서 개발을한다.
하지만 정확히 ResponseEntity를 왜 사용해야하는지 그 역할에 대해 정확하게 알지 못하고 사용해왔다.

그렇다면 ResponseEntity란 무엇일까 ?

Spring FrameWork에서 HttpEntity 클래스를 제공한다. 이는 request 또는 response에 해당하는 Http Header와 Body를 포함하는 클래스이다.
HttpRequest에 대한 응답데이터를 HttpStatus,HttpHeaders, HttpBody를 포함한다.

profile
개발자 성장일기

0개의 댓글