강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

김은재님의 프로필 이미지
김은재

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

요청 매핑 - API 예시

@RestController질문있습니다.

작성

·

295

0

@Controller인 경우에는 반환형이 String이면 viewresolver가 반환값과 같은 화면을 찾아서 리턴해주신다고 하셨습니다.

@RestController인 경우에는 Http Body부분에 리턴값을 넣어서 주신다고 하셨습니다.

그렇다면 @RestController를 선언하면

@GetMapping()

public @ResponseBody String method() {

    ~~~~

}

위와 같이 @ResponseBody를 사용한 효과를 내는 건가요?

퀴즈

66%나 틀려요. 한번 도전해보세요!

실제 서비스 개발에서 System.out.println 대신 로깅 라이브러리를 사용하는 주된 이유가 무엇일까요?

코드가 더 짧아져요.

성능이 훨씬 빨라요.

로그 레벨 설정으로 출력 레벨을 조절할 수 있어요.

다른 개발자가 보기에 더 멋있어요.

답변 1

1

안녕하세요. 김은재님, 공식 서포터즈 OMG입니다.

@RestController 어노테이션 코드를 보시면 @Controller 와 @ResponseBody가 적용 되어 있는 것을 보실 수 있으신데요, @RestController를 클래스 위에 선언할 경우 해당 클래스의 모든 메서드에 @ResponseBody가 적용되어 지는 반면, 

클래스 위에 @Controller를 선언 후, 김은재님이 예시를 둔 것처럼 메서드에  @ResponseBody를 선언할 경우 해당 메서드(url 요청)만 적용됩니다. 

감사합니다.

김은재님의 프로필 이미지
김은재

작성한 질문수

질문하기