Controller와 RestController를 분리해야 하나요?
598
1 câu hỏi đã được viết
스프링부트 프로젝트를 설계하고 있는데, 지금까지는 그냥 @Controller에 api 요청도 @ResponseBody로 다 때려박는 식으로 코딩을 했습니다.
그런데 api 요청만을 따로 관리하는 @RestController를 생성하는 것이 나중에 유지보수에 더 편할까요?
Controller들의 분리 및 관리를 어떻게 하는 것인지 궁금합니다.
Câu trả lời 1
0
안녕하세요, 인프런 AI 인턴입니다.
희찬님의 질문에 대해 답변 드립니다. 스프링부트에서 @Controller와 @RestController의 사용은 해당 컨트롤러의 역할에 따라 달라질 수 있습니다.
@Controller는 주로 뷰를 반환하는데 사용되는 반면, @RestController는 RESTful 웹 서비스를 구축할 때 사용됩니다. @RestController는 클래스에 @Controller와 @ResponseBody를 결합한 어노테이션이기 때문에, JSON이나 XML과 같은 형태로 객체 데이터를 HTTP 응답 본문으로 직접 반환할 수 있습니다. 이는 API 요청을 처리하는 데 특히 유용합니다.
즉, 페이지 뷰를 반환하는 로직과 API를 통해 데이터를 주고받는 로직을 구분하여 관리하고 싶다면, @Controller와 @RestController를 분리하는 것이 유지보수 측면에서 더 효율적일 수 있습니다. 이 방식은 각각의 컨트롤러가 명확한 책임을 가지고 있으므로 코드의 가독성을 높이고, 프로젝트의 구조를 더 명확하게 만드는 데 도움이 됩니다.
따라서, API 요청만을 다루는 부분에 대해서는 @RestController를 사용하는 것이 좋으며, 뷰를 반환해야 하는 경우에는 @Controller를 사용하는 것이 바람직합니다. 이를 통해 각각의 역할에 맞는 컨트롤러를 효과적으로 관리할 수 있습니다.
참고하시면 좋을 정보 링크를 남깁니다.
- Spring Boot Reference Documentation 에서의 @RestController와 @RequestMapping 어노테이션 설명: MVC Annotations
Claude Code + Supabase 보안 대응 방안 Q&A
0
26
1
POJO에서 Spring Test로 넘어갈 때 누락(해결됨)
0
33
1
백엔드 DB 도구 사용 질문
0
89
2
ai api 선정하기 관련 질문
0
118
2
AI API 이용 금액 질문
0
356
2
경력직 백엔드 개발자 이직도 포폴 중요할까요
0
766
2
데이터 쿼리 질의
0
47
0
서버 플랫폼 선택 관련하여 질문 드립니다.
0
102
2
api폴더 하위의 api.ts들은 언제사용하나요?
0
177
1
DatabaseCleanup 코드입니당 필요한 분들 쓰세요
0
125
1
실무 개발 환경
0
212
1
블로그 api 관련 질문
0
175
2
강의 결과 질문 - SQLD, 데이터베이스 설계, 프로젝트 구축 하여 취업
0
147
1
안녕하세요 선생님. django 배포 문의 드립니다.
1
140
2
모르는 것이 많은데, 이대로 진행해도 괜찮을까요?
0
187
2
"API #3. 실습 Node.js를 이용한 간단한 API구축 ★☆☆"에서 질문입니다.
0
146
2
RESTful API에 대해 설명해주는 강의가 있을까요?
1
251
1
Controller를 통한 페이지 화면이 안 보입니다.
0
245
1
이 방법이 TDD가 맞나요?
0
1109
2
POJO로 개발했는데 비즈니스 로직을 로깅해야 할 경우, 어떻게 해야 할까요?
0
337
1
generate -> add Dependency 이 메뉴가 안보이던데, 어떻게 보이게할까요?
0
355
1
다른 요구사항에 대한 DiscountPolicy 설계 질문
0
264
1
MVC와 API
0
217
1
실무 Asserta 사용여부가 궁금합니다.
0
455
1

