오늘의 TIL은 내가 과제를 진행하면서 애매모호하게 알았던 애너테이션이나 개념들에 대해 정리해보려고한다.
Spring MVC를 구현하다보면 Controller 패키지에서 @Controller 또는 @RestController를 사용한적이 있을거다.
주로 View를 반환하기 위해 주로 사용한다. Controller러가 반환된 View로부터 렌더링하기 위해서는 ViewResolver가 사용되며 ViewResolver의 설정에 맞게 View를 찾아 렌더링한다.
주로 Json형태로 객체 데이터를 반환하는데 사용한다.
RestAPI를 개발하는데 많이 사용된다. @Controller에 @ResponseBody를 함께쓰는것과 동일하다.
Controller에서 반환되는 값을 ResponseEntity에 감싸서 개발을한다.
하지만 정확히 ResponseEntity를 왜 사용해야하는지 그 역할에 대해 정확하게 알지 못하고 사용해왔다.
Spring FrameWork에서 HttpEntity 클래스를 제공한다. 이는 request 또는 response에 해당하는 Http Header와 Body를 포함하는 클래스이다.
HttpRequest에 대한 응답데이터를 HttpStatus,HttpHeaders, HttpBody를 포함한다.