내장 톰캣 서버
가 요청을 받고스프링 부트
에 넘긴다controller
에서 test.html을 찾는다.static dir
에 test.html 을 찾는다.web brower
에서 mvc 를 넘기면내장 톰캣 서버
가 요청을 받고스프링 부트
에 넘긴다.controller
에 mvc
가 있으면viewResolver
가 templates
에 mvc 이름과 같은걸
찾아서 thymeleaf
에 처리 해달라고 넘긴다thymeleaf
가 html로 변환해서 넘겨준다.localhost:8080/mvc?name=karim
@Controller
public class testController {
@GetMapping("mvc")
public String mvc(@RequestParam("name") String name, Model model){
model.addAttribute("name", name);
return "mvc";
}
}
web brower
에서 api 를 넘기면내장 톰캣 서버
가 요청을 받고스프링 부트
에 넘긴다.controller
에 api
가 있고 @ResponseBody
가 붙어 있으면HttpMessageConverter
가 동작한다.StringHttpMessageConverter
가 동작한다.MappingJackson2HttpMessageConverter
가 동작한다.@Controller
public class testController {
@GetMapping("api")
@ResponseBody
public Karim mvc(@RequestParam("name") String name){
Karim karim = new Karim();
karim.setName(name);
return karim;
}
@Data
static class Karim {
private String name;
}
}
📌 여담
📚 참고