@Controller과 @RestController의 차이
@controller는 보통 View를 반환할때 사용한다. (데이터 반환 필요시 @ResponseBody 사용)
@RestController는 보통 데이터를 반환시 사용 (@Controller + @ResponseBody)
Model
서버 템플릿 엔진(서버 사이드)에서 객체 저장.
@GetMapping("/")
public String index(Model model) {
model.addAttribute("posts", postsService.findAllDesc());
return "index";
}
위의 경우 "posts"의 이름으로 postsService.findAllDesc()의 결과를 index로 전달한다.
@Query("SELECT p FROM Posts p ORDER BY p.id DESC")
List<Posts> findAllDesc(); 위와 같은 방법으로 쿼리 지정하고, 해당 메소드를 정의 가능하다.JSP처럼 서버 사이드 랜더링할때 사용한다.
Vue.js, React는 클라이언트 사이드 랜더링시 사용.
⭐ 서버 사이드 - 검색 엔진 최적화에 편하고 빠른 랜더링, 하지만 서버 부하가 크다.
⭐ 클라이언트 사이드 - 브라우저에서 구현되므로 서버 부하가 작다. (주로 사용)
{{>}}
외부의 파일을 연결할 때 사용.
{{#NAME}} {{/NAME}}
"NAME"의 List를 순회한다. (for문과 유사)
{{NAME}}
리스트에서 "NAME"의 객체 필드를 뽑아 사용한다.