easpop 2023. 1. 25. 09:00
728x90
반응형

이번 시간에는 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으로 변환한다!

728x90
반응형