resources/static
에 hello-static.html
생성MVC: Model, View, Controller
resources/template/hello-template.html
java/hello.hellospring/controller/HelloController.java
에 hello-mvc
추가Ctrl + P
(IntelliJ 단축키 모음)작동 원리
Spring MVC 패턴 보충자료 1
Spring MVC 패턴 보충자료 2
DispatcherServlet
객체가 이 역할을 한다.HandlerMapping
객체가 핸들러 매핑에 대한 정보를 담고 있다.HandlerAdapter
객체가 이 역할을 한다.Repository
객체를 이용하여 데이터에 접근할 수 있다.ViewResolver
객체가 이 역할을 한다.JSON(key-value 쌍으로 이루어진 데이터 구조 포맷)으로 클라이언트에 전달
java/hello.hellospring/controller/HelloController.java
에 hello-string
추가@ResponseBody
를 사용하면 viewResolver
를 사용하지 않고, HTTP의 BODY에 문자 내용을 직접 반환 (HTML 태그를 말하는 것이 아님)본격적인 api 실습
java/hello.hellospring/controller/HelloController.java
에 hello-api
추가Alt+Insert
-> Getter/Setter 코드 자동 생성Ctrl+Shift+Enter
-> 코드 자동 완성name
, value는 spring!
@ResponseBody
를 사용하고 객체를 반환하면 객체가 JSON으로 변환됨동작 원리
@ResponseBody
를 사용
viewResolver
대신 HttpMessageConverter
가 동작StringHttpMessageConverter
가 기본으로 동작MappingJackson2HttpMessageConverter
가 기본으로 동작HttpMessageConverter
가 기본으로 등록되어 있음참고: 클라이언트의 HTTP Accept 해더와 서버의 컨트롤러 반환 타입 정보 둘을 조합해서 HttpMessageConverter 가 선택된다. (자세한 내용은 스프링 MVC 강의 참조)