반응형
정적 컨텐츠
- 단순 파일 그대로를 전달
<!DOCTYPE html> <html lang="en"> <head> <title>Hello</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> Hello <a href="/hello">hello</a> </body> </html>
MVC와 템플릿 엔진(Jsp, Thymeleaf 등)
- HTML에 템플릿 엔진을 통해 동적 페이지 구성
API
- JSON 데이터만 클라이언트에 전달하여 구성 (서버 간 통신 등 ), @ResponsBody 사용하여 객체를 반환하면 JSON으로 변환됨
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam("name") String name, Model model) {
model.addAttribute("name", name);
return "hello-template";
}
//ResponseBody
//http body 부분에 직접 넣어주겠다를 명시하는 애노테이션
// 문자면 String 값, 객체면 제이슨 값 ( viewResolver 대신에 HttpMessageConverter가 동작)
// 문자 처리 : StringHttpMessageConverter
// 객체 처리 : MappingJackson2HttpMessageConverter
@ResponseBody
@GetMapping("hello-string")
public String helloString(@RequestParam("name") String name) {
return "hello" +name;
}
//json 방식 (객체를 만들어서 날렸을 때 json으로 출력됨 )
@GetMapping("hello-api")
@ResponseBody
public Hello helloApi(@RequestParam("name") String name ){
Hello hello = new Hello(); //c shift enter 시 자동완성
hello.setName(name);
return hello;
}
본 포스팅은 인프런 김영한님 강의(스프링 입문)를 토대로 정리한 내용입니다.
반응형