컨트롤러에서 리턴 값으로 문자 반환하면 ViewResolver가 처리.
ViewName Mapping 하여 template/+{ViewName}+.html로 매핑됨.
@Controller
public class VelogController {
@GetMapping("velog-mvc")
public String velogMvc(@RequestParam("name") String name, Model model) {
model.addAttribute("name", name);
return "velog-template";
}
}
template 디렉토리에 velog-template.html로 이동.
@Controller
public class VelogController {
@GetMapping("velog-api")
public Velog velogMvc(@RequestParam("name") String name) {
Velog velog = new Velog();
velog.setName(name);
return velog;
}
static class Velog {
private String name;
public String getName(){...}
public void setName(String name){...}
}
}
@ResponseBody를 사용하여 http의 body부분에 문자 내용 직접 반환.
viewResolver이 아닌 HttpMessageConverter가 동작함.
@ResponseBody를 사용하고, 객체를 반환하면 객체가 JSON으로 변환됨.