우당탕탕 개발일지
[스프링 입문 김영한 인프런] 섹션 2. 스프링 웹 개발 기초 - API 본문
API는 서버끼리 통신하는 방법!
@ResponseBody
- 여기서 body는?
- HTML에서의 body(x)
- HTTP 통신 프로토콜의 헤더/바디 중 바디를 뜻함
- 서버에서 클라이언트로 데이터를 전송할 때 사용하는 annotation
- HTTP 응답의 본문(body)를 담아 보내는 역할
- 사용 흐름
웹 브라우저에서 hello-api 요청하면 내장 톰켓 서버에서 요청을 받아들이고, helloController를 통해 return hello(name:spring). 이 때 @ResponseBody를 통해 http 응답의 본문(body)를 담아 보낸다. 그러면 HttpMessageConverter를 통해 객체를 JSON 형태로 변환해서 HTTP 응답에 반환(객체이면 JsonConverter, 문자열이면 StringConverter가 작동) - public Hello: Hello라는 객체 생성
- JSON: key-value 형식
- Ctrl+enter단축키로 generate>getter and setter>Java bin jag이 생김, (property 접근방식)
- HttpMessageConverter가 ViewResolver 대신에 객체를 JSON 형태로 변환(객체를 json으로 바꿔주는 유명한 라이브러리: Jackson -> MappingJackson2HttpMessageConverter으로 통해 기본 객체처리)
- HTTP Accept 헤더에 포맷을 명시하면 해당된 포맷 컨버터가 선택된다..하지만 요즘에는 JSON만 쓴다
'웹개발' 카테고리의 다른 글
[스프링 입문 김영한 인프런] 섹션 3. 회원 관리 예제 - 회원 도메인과 리포지토리 만들기 (0) | 2023.10.11 |
---|---|
[스프링 입문 김영한 인프런] 섹션 3. 회원 관리 예제 - 비즈니스 요구사항 정리 (0) | 2023.10.11 |
[스프링 입문 김영한 인프런] 섹션 2. 스프링 웹 개발 기초 - 정적 컨텐츠 (0) | 2023.10.11 |
[스프링 입문 김영한 인프런] 섹션 1. 프로젝트 환경설정 (1) | 2023.10.11 |
[스프링 입문] MVC와 템플릿 엔진 (0) | 2023.09.29 |