상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 스프링에서 @Controller와 @RestController의 차이점은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
스프링 프레임워크에서 `<a href='https://sangseek.com/sangseeks/@Controller/ko'>@Controller</a>`와 `@RestController`는 모두 웹 애플리케이션의 컨트롤러를 정의하는 데 사용되지만, 그 용도와 동작 방식에서 중요한 차이점이 있습니다. 아래에서 이 두 어노테이션의 차이점을 자세히 설명하겠습니다. 1. @Controller- 용도 : `@Controller`는 <a href='https://sangseek.com/sangseeks/MVC/ko'>MVC</a> 패턴에서 사용되는 컨트롤러를 정의합니다. 주로 HTML 페이지를 반환하는 웹 애플리케이션에서 사용됩니다.- 응답 타입 : `@Controller`는 뷰를 반환하는 메서드를 정의합니다. 이 메서드는 일반적으로 JSP, Thymeleaf와 같은 템플릿 엔진을 통해 렌더링된 HTML 페이지를 반환합니다.- 예시 : ```java @Controller public class MyController { @GetMapping("/hello") public String hello(Model model) { model.addAttribute("message", "Hello, World!"); <a href='https://sangseek.com/sangseeks/return/ko'>return</a> "hello"; // hello.html 템플릿을 반환 } } ``` 2. @RestController- 용도 : `@RestController`는 RESTful <a href='https://sangseek.com/sangseeks/웹 서비스/ko'>웹 서비스</a>의 컨트롤러를 정의합니다. 주로 JSON 또는 XML과 같은 데이터 형식을 반환하는 API에서 사용됩니다.- 응답 타입 : `@RestController`는 메서드에서 반환하는 객체를 자동으로 JSON으로 변환하여 클라이언트에 전달합니다. 별도로 `@ResponseBody`를 사용할 필요가 없습니다.- 예시 : ```java @RestController public class MyRestController { @GetMapping("/api/hello") public String hello() { return "Hello, World!"; // JSON 형태로 반환 } } ``` 주요 차이점 요약- 응답 형식 : `@Controller`는 뷰 이름을 반환하여 HTML 페이지를 렌더링하는 반면, `@RestController`는 객체를 반환하여 JSON 또는 XML 형식으로 데이터를 제공합니다.- 어노테이션 조합 : `@RestController`는 내부적으로 `@Controller`와 `@ResponseBody`를 결합한 것입니다. 따라서 `@RestController`를 사용하면 모든 메서드가 자동으로 JSON 응답을 생성합니다. 결론웹 애플리케이션을 개발할 때, 어떤 어노테이션을 사용할지는 애플리케이션의 요구 사항에 따라 달라집니다. HTML 페이지를 반환하는 경우에는 `@Controller`를, RE<a href='https://sangseek.com/sangseeks/STful API/ko'>STful API</a>를 제공하는 경우에는 `@RestController`를 사용하는 것이 적합합니다. 이 두 어노테이션의 차이를 이해하면 스프링 애플리케이션을 보다 효율적으로 설계하고 구현할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기