728x90
스프링 프레임워크에서 클라이언트 요청을 처리하는 컨트롤러를 정의할 때
@Controller와 @RestController 를 사용할 수 있다.
@Controller
- 클라이언트에게 응답을 줄 때 View(Html, JSP 파일)를 찾아서 전달한다.
@Controller
public class MyController {
@GetMapping("/hello")
public String hello() {
return "hello"; // → ViewResolver가 "hello.html" 파일을 찾아 렌더링
}
}
"hello"를 반환하면 hello.html 파일을 찾아서 반환해준다.
@RestController
- 클라이언트에게 응답을 줄 때 자신이 직접 내용을 전달한다.
- JSON/XML 데이터를 반환하는 API 컨트롤러에 사용
- 주로 RESTful API 개발에 사용되기 때문에 많이 사용한다.
@RestController
@RequestMapping("/test02")
public class Test02Controller {
@GetMapping("/ex01")
public String ex01() {
return "ex01";
}
}
상황에 따른 사용법
@Controller
- 규모가 조금 작은 곳에서 프론트와 백을 하나의 서버로 만들어서 사용할 때
@RestController
- 규모가 커졌을 때 프론트 서버를 따로 두고 스프링은 백엔드 서버로만 만들어서 사용할 때
728x90
'BE > Spring Boot' 카테고리의 다른 글
[Spring Boot] 서버 -> 클라이언트로 데이터 전달 (ResponseEntity) (0) | 2025.02.05 |
---|---|
[Spring Boot] 클라이언트 -> 서버로 데이터 전달 (RequestMapping) (0) | 2025.02.05 |
[Spring Boot] IntelliJ에서 스프링 부트 프로젝트 생성 / 초기 설정 (0) | 2025.02.05 |
[Spring Boot] 컴포넌트 스캔 / Bean (0) | 2025.02.04 |
[Spring Boot] Spring, Spring Boot란? / 제어 역전(IoC), 의존성 주입(DI) (1) | 2025.02.04 |