정적 컨텐츠
MVC와 템플릿 엔진
API
resources/static 폴더에 html 파일 작성.

MVC
- M(Model) : Controller에서 처리한 것을 View에 담아 화면 데이터 관리함.
- V(View) : 화면 표시 부분 수행.
- C(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";
}
}
<html xmlns:th="http://www.thymeleaf.org">
<body>
<p th:text="'hello ' + ${name}">hello! empty</p>
</body>
</html>


public class HelloController {
@GetMapping("hello-api")
@ResponseBody
public Hello helloApi(@RequestParam("name") String name){
Hello hello = new Hello();
hello.setName(name);
return hello;
}
static class Hello{
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
}
}
@ResponseBody 추가


만약 retrun에서 hello가 객체라면?
-> JsonConverter가 동작.
만약 hello가 단순 문자라면?
->StringConverter가 동작.