클라이언트에서 localhost:8080/hi-spring url로 요청이 들어왔다고 치자
그럼 톰켓서버에서 해당 url 요청이 들어왔다고 Spring Container에다가 던져준다.
스프링컨테이너에 있는 Controller에서 매핑되는게 있는데 그 매핑되는 녀석이
@ResponseBody라는 어노테이션이 안붙어있을때는 ViewResolver에게 던져서 템플릿엔진으로 처리하게 되는데
@ResponseBody 어노테이션이 붙어있으면 데이터 그대로 내려주게된다.
만약 String 문자를 내려주면 그대로 내려주는데 만약 객체를 내려주면 json방식으로 내려주게된다.
그래서 @ResponseBody 어노테이션이 붙엇을때 HttpMessageConverter라는 녀석이 동작한다.
즉 객체를 내려주는 경우에는 HttpMessageConverter라는 녀석안에 있는
MappingJackson2HttpMessageConverter가 동작하고
그냥 문자를 내려주는 경우에는 StringHttpMessageConverter가 동작하는 것이다.
객체를 json으로 바꿔주는 유명한 라이브러리들이 존재하는데 유명한 2개 라이브러리는 다음과 같다.
Jackson
Gson
'Spring' 카테고리의 다른 글
spring - MessageConverter 인터페이스의 구현체 종류 정리 (0) | 2022.10.22 |
---|---|
Springboot + react 조합의 프로젝트 생성하기 (0) | 2022.08.27 |
Spring - Dispathcher-Servlet 개념 (0) | 2022.05.24 |
[Spring] - JavaMailSender 라이브러리만으로는 발송 실패에 대한 처리를 할 수 없다. (0) | 2022.04.14 |
Mybatis를 왜사용하는걸까? Mybatis 장단점 정리 (0) | 2022.04.14 |