[섹션 2. 스프링 웹 개발 기초] API / 인프런 김영한 스프링 입문
이번 시간에는 API에 관한 학습 시간이였다
MVC 방식에서 웹 브라우저에서 온 데이터 요청을 보여줄 때,
템플릿 엔진을 통해서 웹브라우저에 렌더링해서 해주는 것과
API를 써서 내려주는 방식. 크게 이 두 가지가 있음!
ResponseBody 어노테이션은 Html에서 말하는 바디 태그가 아니고,
http에서 body부에 이 데이터를 직접 넣어주겠다 를 의미한다!
소스코드 보기로 봐도 마찬가지로 아무런 데이터가 없이 그냥 리턴값이 그대로 내려감ㅋㅋㅋ
이 역할을 하는게 ResponseBody라는 것!
데이터를 요청할 때, 주로 api를 많이 씀.
api 데이터를 보여줄 때는 json 형식으로 보여주고, json은 key, value 구조로 이루어져있음!
Getter/Setter 할 때, 이것을 자바 빈 표준 방식이라고 한다.
Getter/Setter를 쓰는 이유는, private 메소드는 외부에서 바로 못 꺼내기 때문에,
public으로 된 Getter, Setter 메소드를 통해서 접근한다.
- ResponseBody 작동 방식
웹 브라우저에서 localhost:8080/hello-api로 요청을 한다.
내장된 톰캣 서버가 스프링으로 전달.
스프링이 컨트롤러를 찾아보니 hello-api를 찾았음.
ResponseBody 어노테이션이 없으면 viewResolver를 통해서 템플릿을 통해 변환 후 리턴하지만,
ResponseBody 어노테이션이 붙어있으면 http 응답에 이 데이터를 그대로 넘겨줌!
반환할 때, 문자가 아니라 객체인 경우, (문자면 문자 그대로 반환!)
key와 value로 이루어진 json 방식으로 만들어서 반환함
차이점은 ViewResolver가 아닌 HttpMessageConverter가 동작해서 json으로 변환한다!