- 스프링 부트(Spring Boot) 컨텐츠 동작 원리
1. 정적 페이지
스프링 부트에서는 DB 접근을 하지 않는 '정적 페이지'는 static 폴더 안에 넣으면 된다.
- 실행 URL : http://localhost:8080/hello-static.html
2. MVC 템플릿 엔진
MVC: Model, View, Controller
(데이터를 담는 Model, 화면을 보여주는 View, Model과 View를 연결시키는 Controller)
- 실행 URL : http://localhost:8080/hello-mvc?name=spring
- Controller 코드 (MVC 템플릿 엔진)
@Controller
public class HelloController {
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam("name") String name, Model model) {
model.addAttribute("name", name);
return "hello-template";
}
}
3. @ResponseBody 사용
데이터를 주고 받을 때 사용 (JSON 형태)
- 실행 URL : http://localhost:8080/hello-api?name=spring
- @ResponseBody 를 사용
- HTTP의 BODY에 문자 내용을 직접 반환
- viewResolver 대신에 HttpMessageConverter 가 동작
- 기본 문자처리: StringHttpMessageConverter
- 기본 객체처리: MappingJackson2HttpMessageConverter
- byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음
- Controller 코드 (@ResponseBody 사용)
@GetMapping("hello-api")
@ResponseBody
public Hello helloApi(@RequestParam("name") String name) {
Hello hello = new Hello();
hello.setName(name);
return hello;
}