@Controller와 @RestController 의 차이점!

이진영·2022년 10월 20일
0

생성일: 2022년 3월 11일 오후 1:30

🤔 **나 혼자 하는 프로젝트를 하는 과정에서 다소 문제가 생긴 부분을 이야기 하고자 한다.**

Error


url 를 잘 매핑을 시켰지만 html 를 못 찾는 경우가 발생했다.

  • 처음에는 html 파일의 위치가 잘못 된줄 알았다. 하지만 그러한 문제는 아니였다...ㅠㅠ

해결법

기존에 있는 방식의 @RestController 어노테이션은 @Controller 로 바꿔주니 해결이 되었다.

제대로 알아보니 RestController 어노테이션은 모든 메소드가 뷰 대신 객체로 작성된다... 이부분을 몰라서 헤매고 있었던 것..

🤔 **간단하게 해결이 되었지만 Controller 와 RestController 의 차이가 어떻게 되는지 궁금해졌다.**
  • 스프링에서 controller 의 역할은 Model 객체를 만들어 데이터를 담고 View를 찾는 역할을 하며, RestController는 단순히 객체만을 반환하고 객체 데이터는 JSON 또는 XML 형식으로 HTTP 응답에 담아서 전송한다.

그렇다면 controller 에서는 사용을 못하는 것인가??

  • 아니다. @ResposeBody를 사용한다면 사용이 가능하다.!!
    class 전체를 덮어도 되고 특정 메소드에도 덮을 수 있다.

출처 : https://dncjf64.tistory.com/288

profile
내가 공부한 것들을 적는 공간

0개의 댓글