728x90
결론부터 말씀드리면 JSON 형식으로 데이터가 반환됩니다.
예시를 위해 다음 코드를 살펴보겠습니다.
@Controller
public class MemberController {
@GetMapping("/")
public MemberDto getInfo(){
return new MemberDto("신동훈",12));
}
}
해당 코드를 실행하면 당연하게도 오류가 발생합니다.
이러한 오류를 해결하기 위해서는 @Controller를 @RestController로 바꾸어주거나, @ResponseBody를 붙여주어야 할 것입니다.
또는 ResponseEntity를 사용할 수도 있습니다.
ResponseEntity를 사용한 코드는 다음과 같습니다.
@Controller
public class MemberController {
@GetMapping("/")
@ResponseBody
public ResponseEntity<MemberDto> getInfo(){
return ResponseEntity.ok(new MemberDto("신동훈",12));
}
}
결론
@Controller에서 데이터를 Json으로 반환하기 위해서는 다음 두가지 방법을 사용할 수 있습니다.
- @ResponseBody 사용
- ResponseEntity 사용
서버사이드 렌더링이 아닌 이상 @Controller 보다는 @RestController를 사용하는 것이 좋다고 생각하며,
RestController에서도 추가적인 작업을 위해 반환 타입을 ResponseEntity를 사용하여 감싸는 것이 좋다고 생각합니다.
728x90
'🏝️ Spring > Web MVC' 카테고리의 다른 글
[Spring MVC] @ControllerAdvice(@ExceptionHandler)는 내부적으로 어떻게 동작하나? (10) | 2023.04.20 |
---|---|
[Spring MVC] 스프링 인터셉터 적용 시 NOT FOUND가 발생하지 않는 경우 (0) | 2023.01.21 |
[Spring MVC] - @ReqeustBody가 값을 바인딩 할 수 있는 조건 (0) | 2022.06.27 |
[Spring MVC] - JSON으로 List를 매핑하는 방법 (0) | 2022.06.27 |
[MVC] 예외 처리 - API 예외 처리 (@ExceptionHandler, @ControllerAdvice) (0) | 2022.02.19 |