스프링

@Controller 와 @RestContoller (@ResponseBody)

nan2 2022. 4. 12. 09:57
반응형

@Controller란?

 

일반적으로 @Controller에서는 클라이언트의 요청을 컨트롤러가 처리한 후 View 이름을 반환한다.

View Resolver가 View 이름으로 해당 View를 찾아 클라이언트에게 보여준다.

 

만약, @Controller에서 객체를 반환하려면?

@ResponseBody 를 붙여주면 해당하는 Mapping은 View 이름이 아닌 객체를 Json 형태로 반환해준다.

이때, 일반적으로 ResponseEntiry<> 형태로 반환해주게 된다.

 

 

@RestContoller란?

 

@Controller + @ResponseBody 를 의미한다.

@RestController에서는 View를 반환하는 것이 아니라, 객체를 Json 형태로 반환하기 때문에 View Resolver가 아닌 HttpMessageConverter가 동작한다.

 

 

반응형