@ResponseBody 를 통해 API 방식으로 response처리를 할 수 있다.
@GetMapping("hello-string")
@ResponseBody // html의 <body>가 아니라 HTTP의 body에 return값을 직접 넣겠다는 의미
// html 태그를 통해 전달하는 것이 아니라 문자열만 그대로 보내는 것
public String helloString(@RequestParam("name") String name) {
return "hello " + name;
}
@GetMapping("hello-api")
@ResponseBody // 이렇게 객체를 넘기게 되면 JSON 형식으로 화면에 띄워준다
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;
}
}
String을 그대로 띄워주는 방식은 거의 사용하지 않는다.
대부분이 객체를 전달하는 방식으로 사용된다.
@GetMapping에 의해 helloApi()가 호출되고 @ResponseBody에 의해 helloApi()의 return값을 그대로 HTTP body에 띄워준다.
이떄 return값에 따라 각각 다른 Converter가 작동한다.
객체가 return되면 MappingJackson2HttpMessageConverter가 작동하는 것으로 기본 등록되어있다.
(Jackson : 객체 -> JSON으로 변환해주는 라이브러리)
'김영한님 스프링 강의 정리 > 입문편' 카테고리의 다른 글
11, 12. Service 개발 및 Test (단축키, Test 관련 팁) (0) | 2020.12.27 |
---|---|
08, 09, 10. 도메인과 레포지터리, 테스트 케이스 작성(JUnit) (0) | 2020.12.26 |
05, 06. 정적 컨텐츠, MVC와 템플릿 엔진(@RequestParam) (0) | 2020.12.25 |
04. IDE 없이 빌드 (0) | 2020.12.25 |
02, 03 스프링 라이브러리, 간단한 view 설정 실습 (0) | 2020.12.25 |