1️⃣ @RestController

@RestController는 Spring Framework에서 제공하는 어노테이션 중 하나로, RESTful 웹 서비스의 엔드포인트를 처리하는 컨트롤러 클래스를 정의할 때 사용된다.

@Controller@ResponseBody를 합친 역할을 수행하며, JSON 또는 XML 형식의 데이터를 반환할 때 주로 사용 된다.

일반적인 View 렌더링이 아닌 직접 데이터를 HTTP 응답의 본문으로 반환하는 RESTful API를 개발할 때 주로 선택 된다.

 

 

 

@Controller 란?

Spring Framework에서 제공하는 어노테이션 중 하나로, 웹 애플리케이션에서 사용자의 요청을 처리하는 컨트롤러 클래스를 정의할 때 사용된다. 이 어노테이션은 주로 View를 반환할 때 사용되며, 일반적으로 HTML 페이지를 렌더링하는 데 활용된다.

 

 

 @ResponseBody  란?

메서드가 HTTP 응답의 본문(body) 부분에 직접 데이터를 쓰도록 지정하는 데 사용된다. 또한, RESTful 웹 서비스에서 JSON 또는 XML과 같은 데이터 형식을 반환할 때 활용된다.

 

 


 

 

2️⃣ 그렇다면 @RestController 를 왜 사용할까?

  • 데이터 API 개발
    데이터 API를 개발하기에 적합하다. RESTful 서비스에서는 주로 JSON 혹은 XML 형식의 데이터를 주고받는다. @RestController 이러한 데이터를 간편하게 반환할 수 있도록 도와준다.
  • 간결한 코드
    @Controller에서는 메서드에 @ResponseBody를 추가하여 데이터를 직접 반환할 수 있지만, @RestController를 사용하면 이러한 설정이 자동으로 적용되므로 코드가 더 간결해진다.
  • RESTful 웹 서비스 구현 용이성
    @RestController를 사용하면 RESTful 웹 서비스의 엔드포인트를 빠르게 구현할 수 있다.
  • 기본적인 View 없이 데이터만 반환
    뷰를 렌더링하지 않고, 직접 데이터를 반환하는데, 이는 데이터 API에 적합하며, 불필요한 뷰 렌더링 작업을 생략할 수 있다.

 

 


 

 

 

3️⃣ 프로젝트 기록

 

위 UserController와 같이 모든 Controller의 초기 작업을 해주었다!

 

xoo | 수진