inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[개념은 호옹~, 실습 빡] 스프링 부트, 입문!

27 댓글 삭제 with JS(이불킥 할 댓글은 지워야겠죠..)

controller, API controller차이

1444

최정식
0

앞서서 만든 프로그램에

apiContrioller가 있고 그냥 controller가 있었는데 이 둘의 차이가 궁금합니다. 또한 이미 만든 show,new,index등의 mustache들도 API controller로 만들수 있는거 아닌가요?(자바스크립트로 요청을 보낸다면)

반대의 경우도 가능할까요?

spring-boot

답변 1

0

홍팍

@Controller@RestController는 스프링 프레임워크에서 컨트롤러를 정의할 때 사용하는 어노테이션입니다. 두 어노테이션은 유사해 보일 수 있지만, 주로 사용되는 목적과 방식에 차이가 있습니다.

- @Controller: 주로 웹 애플리케이션에서 View를 반환하기 위해 사용됩니다. @Controller가 붙은 클래스는 클라이언트의 요청을 처리하고, 그 결과를 뷰 템플릿에 전달하여 사용자에게 HTML 형태로 렌더링된 뷰를 보여주는 역할을 합니다. @Controller를 사용할 때는 @ResponseBody 어노테이션을 메소드에 추가하여 HTTP 응답 본문에 직접 데이터를 반환할 수 있습니다. 그러나, 각 메소드마다 @ResponseBody를 붙여야 하는 번거로움이 있습니다.

- @RestController: @Controller@ResponseBody를 합친 것으로, 주로 RESTful 웹 서비스를 개발할 때 사용됩니다. @RestController가 붙은 컨트롤러는 클라이언트의 요청을 처리하고, 데이터를 JSON이나 XML 같은 형태로 HTTP 응답 본문에 직접 반환합니다. 따라서 REST API를 만들 때 편리하며, 별도로 @ResponseBody를 붙일 필요가 없습니다.

요약하자면, @Controller는 주로 뷰(웹피이지)를 반환하는 데 사용되고, @RestController는 RESTful 서비스를 만들 때 데이터(주로 JSON 또는 XML)를 반환하는 데 사용됩니다.

안녕하세요! 실무와 관련되서 질문드립니다!

0

342

1

스프링 백엔드 개발 로드맵

0

456

1

Spring 공부 어떤 강의 순서로 듣는게 좋은가요?

0

649

1

부트스트랩 유료화

1

429

2

학습 방향에 고민이 있습니다.

0

502

1

스프링 선수학습이 필요한가요?

1

514

1

강의 구매에 관한 질문입니다.

0

427

1

spring db기술 강의

0

464

1

학습 코스 질문입니다.

0

480

1

프로젝트를 진행할려면 어느정도로 학습을 해야할까요?

0

470

1

개발을 업으로 삼기 위한 진지한 고민과 포트폴리오 방향에 대한 질문

1

650

1

jpql 무차별 사용에 대해

0

560

1