No-ah98
Noah
No-ah98
전체 방문자
오늘
어제
  • 분류 전체보기 (40)
    • CS (7)
      • Java (7)
    • shell (1)
    • 개발 실수 (1)
    • 웹 (1)
    • Git (1)
    • 부트캠프 (1)
    • 링크 (0)
    • 오류 (0)
    • 일정 (0)
    • 객체지향 (4)
    • CodingTest (6)
    • TIL (2)
    • JPA (7)
    • JAVA (0)
    • 기타 (0)
    • Spring (5)
    • 알고리즘 (1)
      • 백준 (1)
      • 프로그래머스 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 영속성 관리
  • 2xn타일링
  • 11726
  • 양방향 연관관계
  • 문자열
  • 데이터 셋팅
  • 연관관계
  • 백준
  • @PathVariable vs @RequestParam
  • @RequestBody
  • 엔티티 매핑
  • 깃 정리
  • 타일링
  • @Controller vs @RestController
  • 프로그래머스
  • 연관관계 매핑
  • 멋쟁이사자처럼
  • JPA데이터셋팅
  • @RequestParam
  • 문자 뒤집기
  • @PathVariable
  • 연관관계 편의 메서드 필요성
  • @RequestBody@ModelAttribute 차이
  • Entity
  • @PathVariable vs @RequestParam 차이
  • @Controller
  • bash shell 기본 명령어
  • 문장 뒤집기
  • @RestController
  • 중복제거
  • 멋사 백엔드
  • spring data jpa
  • Git 정리
  • 백엔드 스쿨
  • 중복문자제거
  • 해시
  • DTOvsVO
  • form 공백 체크
  • 계층형 댓글
  • 연관관계 편의 메서드
  • 캡슐화
  • @RequestBody vs @ModelAttribute
  • @ModelAttribute
  • Javascript 공백 체크
  • 객체지향
  • 팰린드롬
  • JPA
  • 멋쟁이사자처럼 백엔드 스쿨
  • VO
  • 대댓글

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
No-ah98

Noah

Spring

@Controller에서 vs @RestController [Spring]

2022. 9. 12. 16:45

스프링 스터디를 진행했을 때는 JSON 형태로만 데이터를 확인하기 위해 컨트롤러에서 

@RestController를 사용했지만, SSR로 프로젝트를 진행할 때는 @Controller를 사용해서 둘의 차이점이 문득 궁금해서 정리하게 됐습니다.


둘의 쓰임새는 어떻게 다른가?

@Controller

@Controller는 주로 View를 반환할 때 사용됩니다. 즉, Client의 요청으로부터 서버에서 View를 렌더링해서 전달하는 경우에 사용합니다. 예시로는 Model 객체에 데이터를 담아서 View를 찾는 "타임리프"가 있습니다.

https://www.facebook.com/photo/?fbid=1873079892846068&set=gm.3389524044492534%20


@RestController

@RestController는 JSON 또는 XML 형식으로 HTTP 응답에 담아서 데이터를  전송할 때 사용 됩니다. 즉, 프론트 개발자와 Restful 웹 서비스로 협업할 때 JSON으로 데이터를 주고 받는다면은 @RestController가 더 적합합니다. 

물론, @Controller + @ResponseBody 조합으로 @RestController처럼 사용할 수도 있습니다.
( Spring 4 이전에는 이러한 방식으로 RESTful 웹 서비스를 개발 )

-> 즉, 둘의 가장 큰 차이점은 "@ResponseBody(HTTP 응답 바디)"의 유무이고
여기서 @ResponseBody는 컨트롤러의 응답이 "JSON"이라고 알려주는 역할 임을 알 수 있습니다.


참고

  • https://mangkyu.tistory.com/49
  • https://doublesprogramming.tistory.com/105

'Spring' 카테고리의 다른 글

@RequestBody vs @ModelAttribute  (0) 2022.09.25
연관관계 편의 메서드 필요성 [Spring]  (0) 2022.09.13
@PathVariable vs @RequestParam [Spring]  (0) 2022.09.13
DTO vs VO  (0) 2022.07.15
    'Spring' 카테고리의 다른 글
    • @RequestBody vs @ModelAttribute
    • 연관관계 편의 메서드 필요성 [Spring]
    • @PathVariable vs @RequestParam [Spring]
    • DTO vs VO
    No-ah98
    No-ah98

    티스토리툴바