쿼리가 어떻게 전달되는 건가요??
강의 초반에 쿼리는 URL 주소에서 뒤에 붙여져서 보내진다고 알고 있습니다.
근데 @GetMapping("/user") 이런 식으로 URL을 받거나 할 때는 뒤에 작성하는 쿼리 부분이 없는데
어떻게 @RequestParam을 통해 쿼리 데이터를 받아오는지 궁금합니다.
이름과 나이를 작성할 때 그 데이터가 쿼리로 가는 거 같은데
도서 웹 페이지에서 해당 데이터가 어떻게 쿼리로 데이터를 받아오는지 궁금합니다.
아직 강의 초반이고 잘 모르다 보니 바보 같은 질문일 수도 있지만
알려주세요!!! 선생님!!
답변 1
2
안녕하세요~ 하고싶은거하자님!! 😊
아이고~ 바보 같은 질문은 없습니다 ㅎㅎㅎ 질문은 무엇이든~ 언제든지~ 환영이에요!
하나씩 답변 드려보겠습니다~~
근데 @GetMapping("/user") 이런 식으로 URL을 받거나 할 때는 뒤에 작성하는 쿼리 부분이 없는데
어떻게 @RequestParam을 통해 쿼리 데이터를 받아오는지 궁금합니다.
와우~ 맞습니다! 사실 저희가 작성한 /user 부분이 전부이죠!
그런데 @RequestParam String name 이라고 작성하면 name이라는 쿼리 데이터가 알아서 들어가는데요! 이 비밀은 사실 스프링에 있습니다.
스프링이 URL을 받으면, 예를 들어 /user?name=ABC 를 받았다고 해볼게요,
그러면, 스프링은 ?를 기준으로 문자열을 나눠서 /user 를 확인한 다음, HTTP method와 해당 path에 맞는 Controller를 찾게 됩니다. 이때 @GetMapping("/user") 가 찾아지겠죠!
그런 다음 해당 Controller를 호출할 때 @RequestParam 어노테이션이 붙은 파라미터가 있고 해당 파라미터의 이름이 URL에 있는 쿼리의 key와 같으면, (즉 여기서는 name 으로 같죠!) 해당 데이터를 추출해서 함수에 넣어주게 됩니다.
쉽게 말씀드리면, Controller 호출 전에 스프링이 알아서 해줍니다. ㅎㅎㅎ
이름과 나이를 작성할 때 그 데이터가 쿼리로 가는 거 같은데
도서 웹 페이지에서 해당 데이터가 어떻게 쿼리로 데이터를 받아오는지 궁금합니다.
그 다음 이 부분은 바로 "프론트엔드" 혹은 "클라이언트" 영역에서 처리되는데요!
HTML / CSS / JS 로 이루어진 클라이언트는 사용자가 HTML로 이루어진 <input /> 태그에 값을 입력하고 버튼을 누르면, JavaScript 라는 언어를 이용해 해당 입력을 받아 정해진 API로 요청을 보내주게 됩니다.
강의 압축 파일 내부에 들어 있는 프론트 파일이 그 역할을 해주고 있는거에요!
답변이 도움이 되었다면 좋겠습니다.
감사합니다!! 🙏 🙇
패키지 구분에 대해 궁금한게 있습니다
0
25
2
리액트 관련 질문이 있습니다.
0
65
2
스프링부트 버전
0
76
2
7강 강의를 들으려고 했는데 오류가 나서 서버가 안 켜지는거 같아요.
0
59
2
33강. UserLoanHistory의 관계성에 대한 질문
1
56
2
Java JDK 버전 문의의 건
0
135
2
ec2 에서 Linux버전이 달라져서 설치가 안되는것 같은데 자료 최신화좀 해주세요.
0
90
3
h2 console 접속했을 테이블 질문
1
67
1
ec2 서버에서 스프링 실행도 되고 인바운드 설정까지 했는데 index.html 안됨
0
79
2
15강. updateUser() 질문
0
56
2
깃허브 질
0
84
2
여기까지 다 끝냈다고 하셨는데
0
79
2
왜안될까요
0
72
2
MySQL 창이안ㄴ뜹니다
0
59
2
포스트맨
0
52
1
spring 개념적인 질문
0
72
2
인텔리제이 샘플코드 실행 안됨 오류
0
142
2
aws 배포할때 .env 파일에 저장한 환경변수에 관하여 여쭤볼게 있습니다
0
86
1
마이그레이션 오류입니다.
0
175
3
Whitelabel Error Page 오류가 났습니다.
0
166
2
안녕하십니까! 오류가 났습니다.. 도와주세요 ㅜㅜ
1
94
3
궁금한게 있습니다.
0
60
2
DTO 관련
0
70
2
궁금한게 있습니다!
0
69
2





