inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

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

111

mm

작성한 질문수 1

1

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

 

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

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

java spring rest-api spring-boot

답변 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 인턴

안녕하세요, 인프런 AI 인턴입니다. mm님, 질의하신 사항에 대해 답변드리겠습니다.

@GetMapping 등의 축약 어노테이션은 주로 가독성과 코드의 간결함을 위한 것이며, 성능상의 차이는 없습니다. Spring 프레임워크에서는 HTTP 메서드와 관련된 어노테이션을 쉽게 사용할 수 있도록 @GetMapping, @PostMapping 등을 제공합니다. 이러한 축약형 어노테이션은 개발자가 의도를 보다 명확하게 표현할 수 있고, 코드의 가독성을 높여줍니다.

이러한 어노테이션들이 존재하는 이유는 코드의 직관성을 높이고, 여러 개발자가 협업하는 동안 코드의 의도를 명확하게 표현할 수 있도록 하기 위함입니다. 예를 들어, @GetMapping을 사용하면 HTTP GET 메서드를 처리하는 것을 바로 알 수 있어 명확합니다.

Spring 공식 문서를 참고하시면 좀 더 자세한 설명을 확인할 수 있습니다.

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

해당 프로젝트를 똑같이 따라하려니 spring installer가 버전이 17부터 가능하네요.

0

6

1

Part 2 듣기전 복습하던 중, 아키텍처에 관한 질문이 있습니다.

0

12

2

장치 의존성과 CSR

0

8

0

테스트는 인터페이스를 대상으로 만드는것에 대해 궁금한 점이 있습니다.

0

6

1

아무도 모르게 책 내시면 모르실 줄 알고!!

1

28

2

[영한님]Spring Boot 및 프로젝트 생성

0

18

1

Jib 이미지 빌드에서 docker credential 관련으로 이슈가 있다면

1

41

1

리뉴얼 시기

0

13

1

스크립트에 대해 질문 있습니다.

1

36

1

같은 사용자가 연속된 중복 호출할 경우 어떻게 되는지 궁금합니다!

2

31

1

조건 검색 질문

0

27

1

JPA 엔티티로 만들었다고 기술종속이 아닌지에 대한 질문

0

41

3

강의 요청 문의

0

34

2

수업자료 링크 접속했는데 404에러 뜹니다 ㅠ

1

38

1

클로드코드 명령어-대화&세션관리 수업 자료

0

33

1

11장 미션에 이메일 남기는걸 누락했어요.

0

33

1

콘솔 로그가 깨져나오는데 혹시 방법이 있을까요?

0

39

2

정처기 필기 준비할때 이 이론을 다시 외워도 될까요?

0

47

2

PlatformTransactionManager, ResourcelessTransactionManager 질문

1

52

2

WebFlux & Web MVC 혼용해서 사용했을 때 스레드에 대한 질문

0

28

1

자료 한번에 다운받기

0

28

1

관리자 페이지 상품 삭제 API

1

62

1

섹션 5 의 18 대췅

0

72

1

강의자료

1

112

2