한 요청이 Java 메서드 두 번의 호출로 끝납니다.
GET /를 보낸다.@GetMapping("/")가 붙은 메서드를 찾는다. 이 찾기는 어노테이션 단원의 표식이다.villaService.list()는 메서드 호출이다.return "villalab/F_005"가 템플릿 파일을 고른다. 고르는 규칙은 화면 단원과 같다.@Controller
public class HomeController {
private final VillaService villaService;
public HomeController(VillaService villaService) {
this.villaService = villaService;
}
@GetMapping("/")
public String home(Model model) {
model.addAttribute("posts", villaService.list());
return "villalab/F_005";
}
}
VillaService는 다른 패키지의 클래스다. 파일 위쪽 import가 그 이름을 연결한다. 서비스 안의 list가 리포지토리를 다시 호출하고, 리포지토리가 데이터베이스로 SQL을 보낸다.
JSON 주소는 같은 순서에서 마지막만 다르다. @RestController 메서드는 템플릿 이름 대신 객체를 반환한다.