일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 카카오 클라우드 스쿨
- sequelize
- Java #오븐시계 #백준
- python
- 11054
- 24479
- 15552
- Spring #Java #Spring Boot #@BeforeEach #@AfterEach
- 9020
- java
- Java #백준 #코딩테스트
- 카카오클라우드스쿨
- 1110
- 코딩테스트
- kakaocloud
- Spring #Java #Spring Boot
- SpringTokenizer
- kakaocloudschool
- boj
- Spring
- node
- 알고리즘
- 11053
- 파이썬
- 2447
- 백준
- Spring #Java #Spring Boot #싱글톤
- 7568
- Spring #Spring Boot #Java
- Java #코딩테스트
- Today
- Total
YoungSoo
스프링 입문 - API 본문
Controller 추가
@ResponseBody를 사용하면 뷰 리졸버를 사용하지 않고 대신에 HTTP의 BODY에 문자 내용을 직접 반환(HTML BODY TAG를 말하는 것이 아니다.)
실행결과
페이지 소스보기
그대로 페이지에 들어가는 것을 확인할 수 있다.
꿀팁 - Intellij에서는 Ctrl + Shift + Enter을 입력하면 자동완성을 시켜준다, Getter/Setter 및 생성자를 생성하는 단축키는 Alt + Insert이다.(검색해보면 Ctrl + N이라고 나와있는데 이상하게 이 노트북은 다르다.)
Controller 추가
위와 같이 객체를 반환해주게 되면 Json형식으로 반환하게 된다. 과거에는 XML형식이 많이 쓰였는데 최근에는 Json 방식을 많이 사용한다.
실행결과
@ResponseBody 사용 원리
웹 브라우저에서 localhost:8080/hello-api라고 치면 서버에서 스프링에 hello-api라고 스프링한테 보내는데
@ResponseBody가 있으면 hello 객체를 Json 방식으로 만들어서 그대로 넘기는데 ViewResolver 대신에 HttpMessageConverter에서단순 String으로 넘기지만 Json형식이면 Json으로 넘긴다. byte 처리 등등
기타 여러 HttpMessageConverter가 기본으로 등록되어 있지만 거의 건들지 않는다고 한다.
정리를 해보자면 그냥 파일을 그대로 내려주는 건 정적컨텐츠 방식, 템플릿 엔진을 Model-View-Controller방식으로 쪼개서 랜더링이된 HTML을 클라이언트에게 전달해주는 건 MVC방식, 객체를 반환해주는 건 API 방식이다.
해당 글은 김영한 님의 인프런 강의를 보고 정리한 글 입니다.
[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의
스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런...
www.inflearn.com
'BE > Spring' 카테고리의 다른 글
스프링 입문 - 회원 도메인과 리포지토리 만들기 (0) | 2022.07.06 |
---|---|
스프링 입문 - 비즈니스 요구사항 정리 (0) | 2022.07.06 |
스프링 입문 - MVC와 템플릿 엔진 (0) | 2022.07.03 |
스프링 입문 - 정적 컨텐츠 (0) | 2022.07.02 |
스프링 입문 - View 환경설정 (0) | 2022.07.02 |