@GetMapping("hello-string")
@ResponseBody
public String helloString(@RequestParam("name") String name){
return "hello " + name;
}
메서드 새로 생성
@ResponseBody
ResponseBody 어노테이션이 나왔다고 그러면 '아! 문자그대로 반환해야겠다!' 라는뜻
-> http의 body에 내용을 직접 반환한다는 뜻
즉 리턴값을 "hello " + name 으로 하고 있기때문에 
리턴하는 문자 그대로 화면에 뿌려지는것을 볼 수 있음
@GetMapping("hello-api")
@ResponseBody
public Hello helloApi(@RequestParam("name") String name){
Hello hello = new Hello();
hello.setName(name);
return hello;
}
static class Hello{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
메서드 새로 생성하고, 객체 생성
public Hello helloApi(@RequestParam("name") String name)
이 메서드 또한 ResponseBody 어노테이션을 명시했기때문에 문자그대로 반환한다고 보면되는데, 리턴 타입을 Hello 라는 객체로 두고 있는 것을 볼 수 있음
이때, 스프링부트는 '리턴값이 "객체"네? 그럼 어떡하지..' 라고 고민하고 출력을 JSON 형태로 뿌려줌

원리