
템플릿 엔진이 적용된 SpringBoot에서는 Controller에서 문자열을 반환하면 templates 폴더에서 해당 문자열의 .html 파일을 반환해준다.
따라서 html 파일이 아닌 JSON 데이터를 브라우저에 반환하고 싶다면 해당 메서드에 @ResponseBody 애너테이션을 추가
@Controller + @ResponseBody = @RestController
@Controller > view나 데이터를 반환할때 사용
@RestController > json타입의 데이터를 반환할때 사용
//content-type:text/html
@GetMapping("/json/string")
@ResponseBody
public String helloString(){
return "{\"name\":\"Robbie\",\"age\":22}";
}
Java는 JSON 타입을 지원하지 않기 때문에 JSON 형태의 String 타입으로 변환해서 사용
Spring에서 자동으로 Java의 객체를 JSON으로 변환해준다.
// Content-Type: application/json
@GetMapping("/json/class")
@ResponseBody
public Star helloClassJson() {
return new Star("Robbie", 95);
}