이 친구는 주로 View(화면)을 반환하기 위해 사용한다.

Handler Mapping
Spring MVC의 중심 구성요소 중 하나로, 클라이언트의 요청을 적절한 컨트롤러로 라우팅하는 역할.
Handler Mapping은 클라이언트 요청 URL을 분석하여 해당 URL에 매핑되는 컨트롤러 메소드를 찾는다. 이를 위해
@RequestMapping,@GetMapping,@PostMapping등의 메소드 레벨 어노테이션을 사용하여 컨트롤러 메소드를 정의한다.
컨트롤러에서 Data를 반환하고 싶을때는 @ResponseBody 를 활용해서 JSON 형태로 반환할 수 있다.

@ResponseBody로 반환하게 되면 ResponseEntity로 감싸서 반환된다.
그리고 View를 반환할때 사용된 View Resolver 대신 HttpMessageConverter가 동작한다.
이는 반환되는 데이터에 따라 다른 Converter가 동작한다.
StringHttpMessageConverterMappingJackson2HttpMessageConveterController + ResponseBody가 합쳐진 형태로 JSON 형태의 객체 데이터를 반환한다.
Restful Web Service에서 사용되는 컨트롤러 어노테이션
RestContrller가 RESTful한 이유
RESTful 웹 서비스는자원의 자체 표현적이라 요청과 응답은 표현적이어야 한다. 따가서 반환되는 데이터 자체가 어떤 자원을 나타내는지, 어떤 상태인지 명시적으로 나타내야 하기 때문에 RestController가 RESTful 한 것.또한 RESTful 웹 서비스는 클라이언트에게 직접 데이터를 제공하는 방식을 사용한다.
따라서 서버는 DB에 게시글 정보를 불러와 JSON or XML 형식의 데이터로 변환 후, 데이터를 HTTP 응답 본문에 포함시켜 클라이언트에게 반환한다.
옛날 웹 어플리케이션에서는 주로 View만 반환하는 방식으로 작동을 많이 했다.
게시글 조회와 같은 기능은 DB에서 게시글 정보를 불러와 뷰에 바인딩하고 이 뷰를 클라이언트에게 반환했다.