mvc,api
🔹1. 내용(Content)✅ 첫 번째 메서드@GetMapping("hello-mvc") public String helloMvc(@RequestParam(value = "name") String name, Model model){ model.addAttribute("name", name); return "hello-template"; } 이건 MVC(Model-View-Controller) 방식이야.클라이언트가 /hello-mvc?name=spring으로 요청하면,Model에 데이터를 담고, "hello-template"이라는 뷰(HTML 템플릿)를 반환함.즉, Thymeleaf 같은 템플릿 엔진을 통해 HTML을 렌더링해서 브라우저에 보여줌.✅ 두 번째 메서드@GetMapping("hello-string") @ResponseBody public String helloString(@RequestParam(value = "name") String name){ return "hello" + name; } 이건 API 방식이야.클라이언트가 /hello-string?name=spring으로 요청하면, 그냥 "hello spring" 이라는 순수 문자열을 HTTP 응답 바디에 직접 내려보냄.@ResponseBody가 붙었기 때문에 템플릿을 찾지 않고, 바로 응답을 문자열로 반환함.🔹2. 이유(Reason)| 항목 | helloMvc | helloString ||------------|----------------------------------------------|------------------------------------------|| 응답 방식 | HTML 템플릿 렌더링 (뷰 이름 리턴) | 순수 문자열 응답 (바디 리턴) || 목적 | 사용자에게 웹 페이지 보여주기 | API 응답 (프론트/앱 등과 통신) || 사용 기술 | Thymeleaf 같은 템플릿 엔진 | @ResponseBody, REST 스타일 || 응답 예시 | 렌더된 HTML 페이지 | "hello spring" 텍스트 그대로 |🔹3. 요약(Summary)helloMvc: 웹 페이지(HTML)를 보여주기 위한 컨트롤러. 뷰 엔진을 통해 동적으로 페이지 생성.helloString: 문자열(API 응답)을 직접 반환하는 컨트롤러. JSON이나 단순 텍스트 응답에 적합.