-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
파라미터 받는 방법에 대하여
23.11.30 12:07 작성 조회수 179
1
컨트롤러의 메서드에 파라미터로 VO나 도메인 객체의 경우
ex) Item item만 적더라도
@ModelAttribute가 자동으로 붙기떄문에 생략해도
된다고 이해하였는데요
String이나 Integer의 경우 생략시 @RequestParam이
자동으로 붙으나 Map같은 경우에는 왜
@RequestParam을 강제로 붙여야지만 나오는지
혹시 아실까요?..
답변을 작성해보세요.
1
OMG
2023.11.30
안녕하세요. 조건희님, 공식 서포터즈 OMG입니다.
아주 단순히 생각하면 스프링에서 Map으로 파라미터를 받는 경우 @RequestParam 어노테이션이 있을 때만 동작하는 코드가 구현되어 있기 때문입니다.
아래는 RequestParamMapMethodArgumentResolver 코드 일부인데요,
supportsParameter(메서드): 지원하는 파라미터인지 확인하는 메서드
boolean(반환 타입): 지원한다 / 안한다
supportsParameter()메서드 코드를 보면,
@RequestParam 애노테이션이 선언 여부와 Map 타입 여부 등을 체크하는 로직이 구현되어 있습니다.
감사합니다.
답변 1