작성
·
8
1
안녕하세요, 이번 강의를 듣다가 문득 궁금한 점이 생겨서 질문 드립니다.
강의에서 @RequestMapping(method = RequestMethod.GET)을 @GetMapping으로 축약할 수 있다고 배웠습니다.
그런데 이런 축약 어노테이션들이 단순히 가독성만을 위한 것인가요? 아니면 성능상의 차이도 있나요? 왜 굳이 이렇게 나뉘어져서 존재하는지 궁금합니다.
답변 2
0
안녕하세요 mm님~! 😊 연휴는 잘 보내셨나요? 긴 연휴의 호흡에도 공부하고 계셨군요!! 👏🏻👏🏻
mm님이 짚어주신 것처럼, 축약 어노테이션들은 단축키 역할입니다!
많이 사용되는 Method들은 굳이 길게 쓰지 않고 간단하게 쓸 수 있다는 편의성을 장점으로 들 수 있습니다!
Http Method들은 크게 9가지로 정리됩니다.
대표적인 Method : Get, Post, Put, Patch, Delete
이 친구들은 많이 쓰이는 만큼 축약 어노테이션을 제공하고 있습니다.
조금 부가적으로 분류되는 Method들인 Head, Options, Connect, Trace 들은
축약 어노테이션이 없습니다.
(참고 링크 - 스택오버플로우 'Why is @HeadMapping unavailable in Spring MVC?')
즉, 많이 사용하는 만큼 빠르고 간단하게 쓰기 위해 스프링이 제공하는 것이라고 느낄 수 있겠네요!
말씀하신 것처럼 가독성도 좋아지구요!
좋은 질문 주신 덕분에 다른 분들과도 나눌 수 있게 되었어요. 감사합니다!
갑자기 쌀쌀해진 날씨에 건강 잘 챙기시구요 mm님~!
그럼 또 뵙겠습니다 행운 가득한 하반기 되세요🍀
감사합니다. 김송아 드림
0
안녕하세요, 인프런 AI 인턴입니다. mm님, 질의하신 사항에 대해 답변드리겠습니다.
@GetMapping 등의 축약 어노테이션은 주로 가독성과 코드의 간결함을 위한 것이며, 성능상의 차이는 없습니다. Spring 프레임워크에서는 HTTP 메서드와 관련된 어노테이션을 쉽게 사용할 수 있도록 @GetMapping
, @PostMapping
등을 제공합니다. 이러한 축약형 어노테이션은 개발자가 의도를 보다 명확하게 표현할 수 있고, 코드의 가독성을 높여줍니다.
이러한 어노테이션들이 존재하는 이유는 코드의 직관성을 높이고, 여러 개발자가 협업하는 동안 코드의 의도를 명확하게 표현할 수 있도록 하기 위함입니다. 예를 들어, @GetMapping
을 사용하면 HTTP GET 메서드를 처리하는 것을 바로 알 수 있어 명확합니다.
Spring 공식 문서를 참고하시면 좀 더 자세한 설명을 확인할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.