작성
·
181
답변 1
0
안녕하세요, potatoo 님. 공식 서포터즈 codesweaver 입니다.
.
Map<String, String> paramMap 에서 좌측 String 은 '키', 우측 스트링은 '값'을 의미 합니다.
맵이라는 자료구조는 {키:값, 키:값 ...} 형태의 구조를 가지고 있다고 보시면 됩니다.
사용자가 만약 로그인 폼을 전송했다고 하면 값은 다음과 같은 형태로 백엔드로 전달됩니다.
email: sample@naver.com
password: 12341234
이 때 '키'는 email, password 이고 '값'은 sample@naver.com, 12341234 입니다.
이를 백엔드에서 HttpServletRequest request 객체로 접근할 때는 request.getParameter("email"); 과 같이 키를 이용하여 접근합니다.
그리고 paramMap에 '키'와 '값'을 넣을땐 다음과 같이 합니다. paramMap.put("email", "sample@naver.com");
강의에서는 람다라는 방식을 이용해 사용자가 전달한 모든 폼 값을 Map 객체에 밀어넣는 작업을 일괄적으로 한 것입니다.
람다 부분이 조금 어렵다면 아래와 같은 코드를 축약하여 사용했다고 보시면 됩니다.
paramMap.put(request.getParameter("email"));
paramMap.put(request.getParameter("password"));
// 람다를 쓰면
request
.getParameterNames()
.asIterator(
name =>
paramMap.put(name, request.getParameter(name))
)
.
감사합니다.
그러면 ModelView process(Map<String, String> paramMap) 은 HttpServletRequest request 객체에서 볼 때, 예를 들어서 회원가입이라면 앞의 String은 username이고, 뒤의 String은 username(키)의 값인 예를들어 abc 라고 생각하면 되는건가요?