인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

rrr6964님의 프로필 이미지
rrr6964

작성한 질문수

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

@RequestParam 의 메서드 구분이해

작성

·

47

0

@RequestParam 개념을 공부중인데 제가 이해한게 맞는지 여쭤보고 싶어서요

 

메서드의 파라미터 자리에 작성하는 애노테이션이다.

파라미터의 이름과 같읕 메서드를 찾아 값을 바인딩 한다.

void String event(@RequestParam (value=“abc”) String abc){ ~ }

이라는 코드가 있을 때 abc의 값을 파라미터 abc의 값으로 저장해준다.

이름이 같을 경우에는 void String event(@RequestParam String abc){ ~ } 으로 생략 가능하다.

 

이게 맞을까요?

답변 2

0

안녕하세요. rrr6964님, 공식 서포터즈 OMG입니다.

@RequestParam 설명에 틀린 내용은 없는 것 같아요 😀

잘 정리하신 것 같습니다 ^^

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. rrr6964님.

@RequestParam의 이해와 관련된 질문 주셔서 감사합니다.

스프링 MVC에서 @RequestParam 어노테이션은 HTTP 요청의 파라미터를 핸들러 메서드의 파라미터에 바인딩할 때 사용합니다. 다음과 같은 포인트들로 @RequestParam의 개념을 간단히 정리해드리겠습니다.

  1. 파라미터 바인딩: @RequestParam은 HTTP 요청 파라미터를 메서드의 매개변수에 매핑합니다. 예를 들어, 요청 URL에 ?abc=value가 있으면 @RequestParam("abc") String abc가 그 값을 받게 됩니다.

  2. 디폴트 이름 사용: @RequestParamvalue 속성에 파라미터 이름을 명시하지 않으면, 메서드의 파라미터 이름과 동일한 HTTP 요청 파라미터를 찾아 바인딩합니다. 따라서 @RequestParam String abc로 작성해도 기능상 문제는 없습니다(단, 컴파일 코드에서의 최적화 설정에 따라 변수 이름이 바뀌면 바인딩이 되지 않을 수 있습니다).

  3. 기본값 지정: 만일 특정한 요청 파라미터가 필수가 아닐 때 기본값을 지정하고 싶다면, defaultValue 속성을 사용할 수 있습니다. 예를 들어, @RequestParam(value = "abc", defaultValue = "defaultABC")로 지정하면, 요청 파라미터가 없는 경우 “defaultABC”가 할당됩니다.

관련하여 더 많은 설명을 참고하시려면 @RequestParam의 사용법에 대한 질문 게시물을 추천드립니다. 여기서 추가적인 예제와 설명을 통해 @RequestParam을 보다 깊이 이해할 수 있습니다.

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

rrr6964님의 프로필 이미지
rrr6964

작성한 질문수

질문하기