Representational State Transfer의 약자로, 하나의 URI가 고유한 리소스를 처리하는 공통 방식을 말한다.
클라이언트가 서버의 자원(Resource)에 대해 요청(Request)을 보내고, 서버가 이에 대한 응답(Response)을 보내는 방식으로 동작한다.
@ResponseBody 애너테이션을 지원하면서 REST 방식의 데이터 처리를 지원한다.@RestController 애너테이션을 이용해 REST 방식의 데이터 처리를 지원힌디.@Controller 를 이용해 Rest 기능 구현
1. pom.xml을 열어 스프링 버전을 4.1.1로 변경한 후 저장한다.

<properties>
<java-version>1.6</java-version>
<org.springframework-version>4.1.1.RELEASE</org.springframework-version>
<org.aspectj-version>1.6.10</org.aspectj-version>
<org.slf4j-version>1.6.6</org.slf4j-version>
</properties>

2. 저장 후 Maven Dependencies에서 스프링 4 버전으로 업그레이드되어 있는 것을 확인한다.

3. 클래스 파일을 생성한다.(TestController.java)
JSP 같은 뷰를 반환하는 것이 아니고 JSON, XML 같은 데이터를 브라우저로 전송하는 컨트롤러인 @RestController 를 설정한다.
package com.test.pro11.ex01; // 패키지 선언 (com.test.pro11.ex01 패키지에 속함)
import org.springframework.web.bind.annotation.RequestMapping; // @RequestMapping 애노테이션을 사용하기 위한 import
import org.springframework.web.bind.annotation.RestController; // @RestController 애노테이션을 사용하기 위한 import
@RestController // 이 클래스가 REST 컨트롤러임을 선언 (JSON 또는 문자열을 반환하는 컨트롤러)
@RequestMapping("/test/*") // "/test/*" 경로로 들어오는 요청을 이 컨트롤러에서 처리하도록 매핑
public class TestController { // TestController 클래스 선언
@RequestMapping("/hello") // "/test/hello" URL로 들어오는 요청을 처리
public String hello() { // hello() 메서드 정의 (GET 요청을 받을 경우 실행)
return "Hello REST!"; // 클라이언트에게 "Hello REST!" 문자열을 반환
}
} // 클래스 종료
➡️ /hello 로 요철 시 브라우저로 문자열을 전송한다.
4. 실행 결과
