🎁[속보] 인프런 내 깜짝 선물 출현 중🎁

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이나 단순 텍스트 응답에 적합.

채널톡 아이콘