@ResponseBody 문자 반환

 @Controller
 public class HelloController {
      @GetMapping("hello-string")
     @ResponseBody
     public String helloString(@RequestParam("name") String name) {
         return "hello " + name;
     }
}

@ResponseBody 객체 반환

@Controller
 public class HelloController {
     @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;
} }
}

@ResponseBody 를 사용하고, 객체를 반환하면 객체가 JSON으로 변환됨

@ResponseBody 사용 원리

스크린샷 2025-03-25 오후 1.17.36.png

@ResponseBody 를 사용

참고: 클라이언트의 HTTP Accept 해더와 서버의 컨트롤러 반환 타입 정보 둘을 조합해서 HttpMessageConverter 가 선택된다. 더 자세한 내용은 스프링 MVC 강의에서 설명하겠다.