강의

멘토링

로드맵

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

기팝님의 프로필 이미지
기팝

작성한 질문수

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

HTTP 요청 메시지 - JSON

@ModelAttribute @RequestBody

작성

·

379

1

안녕하세요

public String requestBodyJsonV1(@ModelAttribute  @RequestBody HelloData helloData) throws IOException {

 log.info("messageBody={}" , helloData);

        return "ok";

}

이런식으로 두 어노테이션을 써 보았는데 어노테이션 위치에 순서 상관잆이 값이 

로그에

messageBody=HelloData(username=null, age=0)

값이 찍히는데 이건 

@ModelAttribute 이   @RequestBody  보다 

우선 순위가 높아서 일까요 ?

퀴즈

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

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

코드가 더 짧아져요.

성능이 훨씬 빨라요.

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

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

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 기팝님

애노테이션에는 순서라는 개념이 없습니다.

스프링이 내부에서 어떤 애노테이션 코드를 먼저 적용할지의 순서가 있습니다.

하지만 그렇다고 해도, 이런 순서 부분이 메뉴얼에서 보장되는 부분이 아니기 때문에

이렇게 둘을 함께 사용하시면 안됩니다.

감사합니다.

기팝님의 프로필 이미지
기팝

작성한 질문수

질문하기