강의

멘토링

로드맵

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

mm님의 프로필 이미지
mm

작성한 질문수

[1.5탄] 옆집 개발자와 같이 진짜 이해하며 만들어보는 첫 Spring Boot 프로젝트

우리는 이제 줄임말을 쓸 수 있는 멋진 사람들

@GetMapping은 단순 축약일까요? 다른 차이는 없나요?

작성

·

8

1

안녕하세요, 이번 강의를 듣다가 문득 궁금한 점이 생겨서 질문 드립니다.

 

강의에서 @RequestMapping(method = RequestMethod.GET)을 @GetMapping으로 축약할 수 있다고 배웠습니다.

그런데 이런 축약 어노테이션들이 단순히 가독성만을 위한 것인가요? 아니면 성능상의 차이도 있나요? 왜 굳이 이렇게 나뉘어져서 존재하는지 궁금합니다.

답변 2

0

안녕하세요 mm님~! 😊 연휴는 잘 보내셨나요? 긴 연휴의 호흡에도 공부하고 계셨군요!! 👏🏻👏🏻

mm님이 짚어주신 것처럼, 축약 어노테이션들은 단축키 역할입니다!

 

많이 사용되는 Method들은 굳이 길게 쓰지 않고 간단하게 쓸 수 있다는 편의성을 장점으로 들 수 있습니다!

 

Http Method들은 크게 9가지로 정리됩니다.

  1. 대표적인 Method : Get, Post, Put, Patch, Delete
    이 친구들은 많이 쓰이는 만큼 축약 어노테이션을 제공하고 있습니다.

  2. 조금 부가적으로 분류되는 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 공식 문서를 참고하시면 좀 더 자세한 설명을 확인할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

mm님의 프로필 이미지
mm

작성한 질문수

질문하기