[스프링 입문] - 스프링 웹 개발 기초(3)

stephanie·2022년 10월 9일
0

스프링 입문

목록 보기
7/13

API

JSON이라는 데이터 구조 포맷을 활용해 클라이언트와 연결하는 것!
앞서 웹 개발 기초(2)에서 본 템플릿 엔진와는 다르게 html을 보내주는 것이 아니라, 데이터를 바로 내려주는 방식이다.

@ResponseBody
html의 Body 부분에 이 부분을 직접 넣어주겠다는 의미.
템플릿 엔진, View와의 차이는 이 문자가 그대로 간다는 것이다. (html 태그 없이!)

getter, setter는 프로퍼티 접근 방식이다. private value인 name에 접근하기 위해 getter, setter를 활용한다.
helloApi 메소드를 작성하고 hello를 반환해주면 아래와 같이 JSON 형식으로 화면에 보인다.

과거에는 XML 방식을 많이 썼는데, 무겁고 태그를 두 번씩 써야 한다. 하지만 JSON 방식은 key와 value만 넣어주면 되기 때문에 간편하다!

  1. 내장 톰캣 서버가 스프링 컨테이너에 hello-api가 입력되었다는 정보를 전한다.
  2. 스프링 컨테이너가 helloController에서 매핑된 정보를 찾았다.
  3. @ResponseBody라는 annotation이 붙어있어서 http 응답에 이 데이터를 그대로 넣어주게 된다. 그런데 데이터가 객체일 때는 JSON 방식으로 데이터를 만들어서 반환한다. HttpMessageConverter가 동작한다. (JsonConverter: 객체의 경우, StringConverter: 단순 문자일 경우)
  4. 반환된 값을 웹 브라우저에 보내 준다.

** HTTP Accept 헤더와 서버의 컨트롤러 반환 타입 정보 등을 종합해 반환할 데이터의 타입을 변경할 수 있다.

0개의 댓글