https://tes1194.tistory.com/89
에 이어서....
서버는 요청을 받아 html/css/js 파일을 반환해주는게 주 업무일까요?
최근에는 서버가 직접 뷰(html/css/js)를 반환하기 보다는 요청에 맞는 특정한 정보만 반환하는 것을 조금 더 선호합니다.
` 특정한 정보 ` 의 형태: Json
- JSON 데이터 반환하는 방법
- 템플릿 엔진이 적용된 SpringBoot에서는 Controller에서 문자열을 반환하면 templates 폴더에서 해당 문자열의 .html 파일을 찾아서 반환해줍니다.
- 따라서 html 파일이 아닌 JSON 데이터를 브라우저에 반환하고 싶다면 해당 메서드에 @ResponseBody 애너테이션을 추가해줘야합니다.
- @RestController = @Controller + @ResponseBody
- @RestController를 사용하면 해당 클래스의 모든 메서드에 @ResponseBody 애너테이션이 추가되는 효과를 부여할 수 있습니다.
@GetMapping("/response/json/string")
@ResponseBody
public String helloStringJson() {
return "{\"name\":\"Robbie\",\"age\":95}";
}
- Java는 JSON 타입을 지원하지 않기 때문에 JSON 형태의 String 타입으로 변환해서 사용해야 합니다.
@GetMapping("/response/json/class")
@ResponseBody
public Star helloClassJson() {
return new Star("Robbie", 95);
}
- "자바 객체 → JSON 으로 변환"
- Spring에서 자동으로 Java의 객체를 JSON으로 변환해줍니다.
'Spring > 팀스파르타' 카테고리의 다른 글
9. Path Variable과 Request Param (0) | 2024.10.26 |
---|---|
8. Jackson이란 무엇일까? (0) | 2024.10.26 |
6. Controller - 정적, 동적 페이지 처리 (1) | 2024.10.26 |
5. Spring MVC란 무엇일까? (0) | 2024.10.25 |
4. Lombok과 application.properties (2) | 2024.10.21 |