인프런 커뮤니티 질문&답변
@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
김영한
지식공유자
안녕하세요. 기팝님
애노테이션에는 순서라는 개념이 없습니다.
스프링이 내부에서 어떤 애노테이션 코드를 먼저 적용할지의 순서가 있습니다.
하지만 그렇다고 해도, 이런 순서 부분이 메뉴얼에서 보장되는 부분이 아니기 때문에
이렇게 둘을 함께 사용하시면 안됩니다.
감사합니다.




