(spring) @Controller 와 @RestController 차이

전성영·2022년 6월 2일
0

spring

목록 보기
11/31

과제가 끝나면 error 노트와 이 차이점을 공부해서 정리하고 싶었다.
대충대충은 알지만 정확히 얕게라도 알고 싶어서 정리해본다.
왜 정리하고 싶었냐면 저 두 개의 혼동으로 인해서 에러를 잡고 있었다...

@Controller 와 @RestController

이 두가지의 주요 차이점은 HTTP ResponseBody가 생성되는 방식이다.

  1. @Controller : Spring MVC 의 컨트롤러로 주로 View를 반환하기 위해 사용한다.
    @ResponseBody를 사용하면 객체를 리턴할 수 있다.

  2. @RestController : Restful Web Service에서 사용되는 컨트롤러
    @Controller + @ResponseBody 가 합쳐진 형태로 Json 형태로 객체 데이터를 반환한다.

이러한 차이점을 대충대충만 알고 생각도 못하고 있던 나는

이런식으로 넘겨줬고, spring은 당연히 templates 안에 있는 Success.html을 찾았을 것이다.
@RestController로 바꿔준 후 @RequestBody로 requestDto에 담아주면 정상작동한다.

끗!

profile
Slow and Steady

0개의 댓글