Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- mysql #min() #max() #최소값 #최대값 #코린이 #개발자 #study
- 특정 옵션이 포함된 자동차 리스트 구하기 #코린이 #개발자 #study
- 프로그래머스 #잡은 물고기의 평균 길이 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 백준 #
- 프로그래머스 #python 개발자 찾기 #알고리즘 #mysql #코린이 #개발자 #study
- 백준 #4153 #직각삼각형 #알고리즘 #자바 #java #코린이 #개발자 #study
- 프로그래머스 #아픈 동물 찾기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #잡은 물고기 중 가장 큰 물고기의 길이 구하기 #알고리즘 #mysql #코린이 #개발자 #study
- 프로그래머스 #나이 정보가 없는 회원 수 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 코린이 #개발자 #study
- 프로그래머스 #알고리즘 #mysql #인기있는 아이스크림 #코린이 #개발자 #study
- 백준 #네 번째 점 #3009 #자바 #java #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #알고리즘 #mysql #
- 프로그래머스 #mysql #알고리즘 #어린 동물 찾기 #코린이 #개발자 #study
- 프로그래머스 #mysql #동명 동물 수 찾기 #알고리즘 #코린이 #개발자
- 프로그래머스 #mysql #알고리즘 #이름이 있는 동물의 아이디 #코린이 #개발자 #study
- 프로그래머스 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #모음 제거 #알고리즘 #자바 #java #코린이 #개발자 #study
- 백준 #일곱 난쟁이 #2309 #자바 #java #알고리즘 #코린이 #개발자 #study
- 백준 #다이얼 #5622 #알고리즘 #자바 #java #코린이 #개발자 #study
- 프로그래머스 #mysql #흉부외과 또는 일반외과 의사 목록 출력하기 #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #경기도에 위치한 식품창고 목록 출력하기 #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #가장 큰 물고기 10마리 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #과일로 만든 아이스크림 고르기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #동명 동물 수 찾기 #mysql #데이터베이스 #db #코린이 #개발자 #알고리즘
- 프로그래머스 #mysql #역순 정렬하기 #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #12세 이하인 여자 환자 목록 출력하기 #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #조건에 맞는 회원수 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #한 해에 잡은 물고기 수 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #알고리즘 #자동차 대여 기록에서 장기/단기 대여 구분하기 #코린이 #개발자 #study
Archives
- Today
- Total
luke
[Spring/스프링] - @RequestParam 본문
@RequestParam
✔️ request parameter 조회
- @RequestParam은 GET 쿼리 파라미터 전송 방식이든, Post HTML Form 전송 방식이든 둘 다 형식이 같으므로 구분 없이 조회할 수 있다.
✔️ @RequestParam 사용
@ResponseBody
@RequestMapping("/request-param")
public String requestParam(
@RequestParam("username") String memberName,
@RequestParam("age") int memberAge) {
log.info("username={}, age={}", memberName, memberAge);
return "ok";
}
- @RequestParam("username") String memberName
- 파라미터 값을 변수명에 담을수 있다.
- 만일 파라미터 이름과 변수명이 같은 경우에는 ("파라미터")를 생략할 수 있다.
- ex) @RequestParam String username
- @RequestParam 어노테이션은 request.getParameter() 와 동일한 역할이다.
- String, int, Integer 등 단순 타입이면 @RequestParam 도 생략이 가능하다. 다만 주관적인 생각으로는 생략 보다는 @RequestParam을 표기해주는 게 좋다 생각한다.
✔️ @RequestParam( required = true, false )
@ResponseBody
@RequestMapping("/request-param-required")
public String requestParamRequired(
@RequestParam(required = true) String username,
@RequestParam(required = false) Integer age) {
log.info("username={}, age={}", username, age);
return "ok";
}
required 는 파라미터 값 필수 여부를 정하는 것이고 기본값은 "true"이다.
- @RequestParam( required = true )
- 파라미터 값은 필수이며 값이 전달되지 않는다면 Exception이 발생한다.
- @RequsetParam(required = false)
- 파라미터 값이 필수이지는 않지만 값이 전달되지 않는다면 null 값이 들어간다.
- 주의할 점은 자료형 int는 null값을 담을 수 없기 때문에, Integer를 사용해야 한다. 혹은 "defaultValue"를 사용해야 한다.
✔️ @RequestParam( defaultValue = " " )
@ResponseBody
@RequestMapping("/request-param-default")
public String requestParamDefault(
@RequestParam(required = true, defaultValue = "guest") String username,
@RequestParam(required = false, defaultValue = "-1") int age) {
log.info("username={}, age={}", username, age);
return "ok";
}
- 파라미터에 값이 없는 경우 " defaultValue "를 통해 기본값을 적용할 수 있다.
- " defaultValue "를 사용할 경우 " required " 옵션은 의미가 없다. 왜냐하면 값이 없을 경우 " defaultValue "에 설정한 값이 들어가기 때문이다.
✔️ @RequestParam( Map <key, value>, MultiValueMap <key, value> )
// Map 으로 Parameter 값 받기
@ResponseBody
@RequestMapping("/request-param-map")
public String requestParamMap(@RequestParam Map<String, Object> paramMap) {
log.info("username={}, age={}", paramMap.get("username"),
paramMap.get("age"));
return "ok";
}
// 값이 여러개인 경우 MultiValueMap 로 Parameter 값 받기
@ResponseBody
@RequestMapping("/request-param-map")
public String requestParamMap(@RequestParam MultiValueMap<String, Object> paramMap) {
log.info("username={}, age={}", paramMap.get("username"), paramMap.get("age"));
return "ok";
}
- 파라미터 값들을 변수로 다로 설정해 받지 않고 Map, MultiValueMap을 통해서도 값을 받을 수 있다.
- Map은 (key = value)인 형태의 자료 구조이고, MultiValueMap은 (key = value(id1, id2, id3))인 형태의 1개의 key로 여러 개의 value 값이 올 수 있는 형태의 자료 구조이다.
'Study > Spring' 카테고리의 다른 글
[Spring/스프링] - @RequestMapping, @GetMapping, @PostMapping (0) | 2024.02.28 |
---|---|
[Spring/스프링] @Controller (0) | 2024.02.19 |
[Spring/스프링] @PathVariable (0) | 2023.12.28 |
[Spring/스프링] @RequiredArgsConstructor (lombok) (0) | 2023.12.11 |