최대 1 분 소요

Spring MVC에서 웹 애플리케이션의 요청을 처리하는 컨트롤러 클래스를 지정하는 어노테이션



데이터 반환 형식


@Controller 는 일반적으로 View를 반환하기 위해 사용되며, 웹 페이지를 렌더링하고 View와 모델을 연결하는 역할을 수행한다.

@RestController는 RESTful 웹 서비스를 위해 사용되며, JSON, XML 등의 데이터 형식으로 데이터를 반환하기 위해 사용된다.



응답처리


@Controller 에서는 ModeAndView, View, Model, Map 등을 반환하여 View와 모델을 처리하고 렌더링한다.

@RestController 에서는 데이터 객체 자체를 반환하며, Spring MVC 는 해당 객체를 JSON, XML 등의 형식으로 변환하여 응답한다.



응답 타입


@Controller 는 주로 웹 브라우저와 같은 클라이언트에서 View를 렌더링하기 위해 사용되므로 HTML을 응답으로 반환하는 것이 일반적이다.

@RestController 는 주로 API엔드포인트를 구현하는 데 사용되므로 JSON, XML 등의 데이터 형식을 응답으로 반환하는 것이 일반적이다.



@ResponseBody 사용 여부


@Controller 에서는 @ResponseBody 어노테이션을 사용하여 메소드 반환 값을 응답의 본문에 직접 쓰는 것이 필요하다.

@RestController 에서는 @ResponseBody 어노테이션을 사용하지 않아도 기본적으로 메소드의 반환 값이 응답의 본문으로 전송된다.



정리


웹 애플리케이션에서 View를 렌더링하거나 데이터를 JSON, XML 등의 형식으로 반환해야 하는 경우에는 @Controller를 사용하고,

RESTful 웹 서비스를 개발하고 JSON, XML 등의 형식으로 데이터를 반환해야 하는 경우에는 @RestController 를 사용하는 것이 일반적이다.

카테고리: ,

업데이트:

댓글남기기