정적 컨텐츠
- 정적 컨텐츠는 서버에서 html파일을 그대로 클라이언트로 전달하는 방식이다.
- static 폴더안에 원하는 html파일을 만들면 그대로 반영된다.
- 스프링은 먼저 url을 분석해 해당 관련 컨트롤러가 있는지 찾고 없으면 그때 static 컨텐츠를 찾고 반환해 준다.
MVC와 템플릿 엔진
- MVC : Model + View + Controller
- Model : 데이터
- View : 화면
- Controller : 동작
- @RequestParam 어노테이션은 get 방식에서 ?"변수명"="값"을 사용할 수 있게 해주는데 @GetMapping을 달고 있는 함수의 애개변수에 붙여서 사용할 수 있다.
API
- @ResponseBody 어노테이션은 http 통신(REST API)의 body부분에 반환값을 넣어주겠다는 의미이다. 즉, String을 반환하면 html 태그같은거 없이 String 그대로의 데이터가 들어간다.
- 객체를 반환하면 json 형식으로 반환한다.
- 정리하자면 스프링부트는 브라우저의 요청을 컨트롤러가 분석힐때 @ResponseBody가 붙어있으면 기존처럼 템플릿을 찾기위해 veiwResolver에 넘기는 방식이 아니라 HttpMessasgeConverter를 통해 데이터 자체를 넘기는 방식을 선택한다.
- 이떄 반환값이 객체이면 json 방식으로 반환한다. 스프링은 객체를 json으로 변환하기 위해 Jackson 라이브러리를 사용한다.
Tip!
- alt + insert : Generate
- ctrl + shift + space : 자동완성