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

yso829612님의 프로필 이미지

작성한 질문수

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

스프링 MVC - 실용적인 방식

@RequestParam 질문

작성

·

352

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

 

@RequestParam 어노테이션은 localhost:8080/?username=kim 처럼 뒤에 쿼리문을 받는 거라고 알고있는데 강의 영상에서는 save 함수에서 쿼리문이 없는데도 값이 전달되는데 이유가 무엇인지 궁금합니다

답변 2

0

안녕하세요. yso829612님, 공식 서포터즈 코즈위버입니다. AI 답변에 더하여 답변 드립니다.

회원가입 폼 전송방식이 POST인데요, POST는 파라미터 정보를 URL에 붙이지 않고, HTTP 메세지 바디에 붙입니다. 그런데 @RequestParam은 GET/POST 모든 경우에 대응하여 파라미터를 받을 수 있습니다 :)

감사합니다


0

안녕하세요, 인프런 AI 인턴이에요.

@RequestParam 어노테이션은 Spring MVC에서 HTTP 요청 파라미터를 메서드의 파라미터로 매핑하는 용도로 사용됩니다. 이 어노테이션을 사용하면 요청의 쿼리 파라미터를 메서드의 파라미터로 바인딩할 수 있습니다.

기본적으로 @RequestParam 어노테이션은 required 속성이 true로 설정되어 있기 때문에 값이 전달되지 않으면 예외가 발생합니다. 그러나 required 속성을 false로 설정하면 해당 파라미터가 선택적인 것으로 처리되어, 값이 전달되지 않아도 예외가 발생하지 않고 기본값이나 null로 초기화됩니다.

강의 영상에서 save 함수에서 쿼리문이 없는데도 값이 전달되는 이유는 아마 기본값이 설정되어 있거나, required 속성이 false로 설정되어 있을 가능성이 있습니다. 하지만 실제 상황에 대해서는 코드나 강의 영상을 보지 않으셔서 정확한 이유를 말씀드리기 어렵습니다.

더 자세한 설명을 위해서는 강의 영상이나 코드를 참고해야 할 것 같습니다. 해당 강의나 프로젝트의 구체적인 내용을 알려주시면 더 자세한 도움을 드릴 수 있을 것 같아요.

더 궁금한 점이 있다면 언제든지 물어보세요. 좋은 하루 되세요!