@Controller와 @RestController의 차이
@Controller
- 뷰 리졸버(View Resolver): @Controller는 주로 JSP와 같은 뷰를 반환하는데 사용됩니다. 반환된 문자열은 뷰 이름으로 해석되며, 해당 뷰가 렌더링됩니다.
- 뷰 반환: 주로 템플릿 엔진을 통해 HTML 뷰를 반환할 때 사용됩니다.
- 예시:
java코드 복사@Controller public class MyController { @RequestMapping("/hello") public String hello() { return "hello"; // /WEB-INF/views/hello.jsp 뷰를 반환 } }
@RestController
- JSON/XML 데이터 반환: @RestController는 RESTful 웹 서비스 엔드포인트를 만들기 위해 사용되며, HTTP 응답 본문에 JSON 또는 XML 데이터와 같은 데이터를 직접 반환합니다.
- 뷰 리졸버 사용 안 함: 반환된 데이터는 뷰 리졸버를 통해 해석되지 않고, HTTP 응답 본문에 직접 작성됩니다.
- 예시:
java코드 복사@RestController public class MyRestController { @GetMapping("/hello") public String hello() { return "hello"; // "hello"라는 텍스트를 응답 본문에 직접 반환 } }
'개인공부' 카테고리의 다른 글
| [egovframework template]ibatis에서 mybatis로 (0) | 2024.07.28 |
|---|---|
| [egovFrame]log4j-slf4j-impl cannot be present with log4j-to-slf4j (1) | 2024.07.23 |
| [vuetify]grid (0) | 2024.07.09 |
| const 정의 못찾아서 function으로 변경 (0) | 2024.07.07 |
| [Vue3.js] 새로운 프로젝트 생성, vite 설치까지 (2) | 2024.06.02 |