@Controller는 View(jsp)를 반환하며, 화면에 데이터를 표현할 때는 Model 객체등을 통해 값을 같이 전달합니다.
@RestController는 json 이나 xml 을 반환하는 어노테이션입니다.
따라서 json 데이터 등의 데이터를 클라이언트에 직접 반환할 때 사용하는 어노테이션으로, 일반적으로 api 를 주로 다루는 클래스에 사용합니다.
일반 컨트롤러에서는 내부적으로 서비스 메소드를 호출합니다. 이후 jsp 페이지를 반환합니다.
Rest 컨트롤러에서는 서비스에서 받아온 메소드를 그대로 클라이언트에 반환합니다.
즉 view 가 아닌 데이터를 직접 return 하는 방식입니다.
3줄요약
1. 일반 컨트롤러 어노테이션은 view 를 반환 -> 서버측에서 화면을 렌더링하는 역할
2. RestController 어노테이션은 api 쪽을 관리하므로 데이터를 반환 -> 클라이언트와 데이터를 주고받는 역할
3. 서로 반환하는 값이 다르므로 경로를 다르게 설정해서 각 역할에 맞는 코드 관리를 하는게 좋음.
'JAVA' 카테고리의 다른 글
| [JVM] JVM이 무엇일까? (0) | 2025.04.16 |
|---|---|
| [복습] GetMapping 과 RequestMapping 의 차이 (0) | 2025.04.15 |
| 프레임워크란 무엇일까? (0) | 2025.03.28 |
| [JAVA] MVC 패턴과 JDBC 를 활용한 데이터베이스 연결 (1) | 2025.01.31 |
| [JAVA] Socket으로 간단히 구현하는 클라이언트-서버 통신 (0) | 2025.01.21 |