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 |
Tags
- 프로그래머스 #배열 회전시키기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #조건에 맞는 사용자와 총 거래금액 조회하기 #알고리즘 #Mysql #DB #쿼리문 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #조건에 맞게 수열 변환하기 1 #알고리즘 #자바 #Java #코린이 #개발자 #study #취준
- 프로그래머스 #카테고리 별 도서 판매량 집계하기 #알고리즘 #쿼리문 #MySQL #코린이 #개발자 #study #취준
- 프로그래머스 #세로 읽기 #알고리즘 #개발자 #코린이 #study #성장 #Java #자바
- 프로그래머스 #조건별로 분류하여 주문상태 출력하기 #MySQL #쿼리문 #알고리즘 #코린이 #개발자 #study #취준
- 프로그래머스 #등차수열의 특정한 항만 더하기 #알고리즘 #Java #자바 #코린이 #개발자 #study #공부
- 코린이 #개발자 #study
- 프로그래머스 #1로 만들기 #알고리즘 #자바 #Java #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #배열만들기 5 #알고리즘 #study #Java #코린이 #개발자 #성장 #공부
- 프로그래머스 #날짜 비교하기 #알고리즘 #자바 #Java #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #x 사이의 개수 #알고리즘 #자바 #Java #코린이 #개발자 #study
- 프로그래머스 #알고리즘 #ad 제거하기 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #수열과 구간 쿼리1 #알고리즘 #자바 #Java #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #중복된 문자 제거 #알고리즘 #Java #자바 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #있었는데요 없었습니다 #DB #MySQL #알고리즘 #쿼리문 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #합성수 찾기 #알고리즘 #Java #자바 #stiudy #코린이 #개발자 #공부 #성장
- 프로그래머스 #소수 만들기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #간단한 식 계산하기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 백준 #
- 프로그래머스 #문자열 뒤집기 #알고리즘 #Java #자바 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #푸드 파이트 대회 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #할 일 목록 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #부분 문자열 이어 붙여 문자열 만들기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #조건에 맞는 개발자 찾기 #MySQL #쿼리문 #알고리즘 #코린이 #개발자 #study #취준
- 프로그래머스 #길이에 따른 연산 #알고리즘 #자바 #Java #코린이 #개발자 #study #취준
- 파이썬 #input() #sys.stdin.readline() #공부 #study
- 프로그래머스 #배열의 원소만큼 추가하기 #알고리즘 #코린이 #개발자 #study #취준
- 프로그래머스 #배열에서 문자열 대소문자 변환하기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #오랜 기간 보호한 동물(1) #알고리즘 #MySQL #DB #쿼리문 #개발자 #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 |