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 |
Tags
- Spring
- response
- Codewars
- Docker
- 헬스체크
- 로그인
- 플라이웨이트
- 디자인 패턴
- actuator
- 반환
- RequestParam
- Security
- enum
- redis
- 프로퍼티
- property
- 파라미터
- ResponseDto
- 코드워즈
- Request
- yml
- DTO
- @RequestParam
- 코딩테스트
- @Value
- RequestBody
- springboot
- JWT
- Boot
- @RequestBody
Archives
- Today
- Total
있을 유, 참 진
[SpringMVC] 업무에서 활용한 @RequestParam 사용법 정리 본문
@RequestParam 기본 설명
- 예시 설명
@RequestParam에서 같은 파라미터를 한 번에 보내는 방법
- 하나의 쿼리 파라미터를 통해 보내기
- 동일한 쿼리 파라미터 이름을 통해 보내기
enum을 통해 받아오는 파라미터 값 제한하기
- enum값 설정
@RequestParam 기본 설명
💡 @RequestParam 어노테이션은 HTTP 요청 파라미터를 받아오는 어노테이션이다. URL의 파라미터를 추출해 메서드 인자로 받는다.
- https://yuma1029.tistory.com/manage/newpost/?type=post&returnURL=%2Fmanage%2Fposts%2F#
예시 설명
@GetMapping
public ResponseEntity<ProductResponseDto.NewProduct> getProducts(@RequestParam(name = "product-status", required = false) ProductStatus productStatus) {
//...코드 생략
}
@RequestParam(value = "name", required = false)
파라미터에 대한 요구 사항 설정 가능. value
는 URL에 지정된 파라미터의 이름으로 지정할 수 있고, required
를 통해서 파라미터의 필수 여부를 체크할 수 있다.
@RequestParam에서 같은 파라미터를 한 번에 보내는 방법
💡 @RequestParam을 활용해 똑같은 파라미터 이름을 가진 값을 여러 개를 보내주고 싶을 때 사용했던 두 가지 방법을 소개한다.
하나의 쿼리 파라미터를 통해 보내기
💡 쿼리 파라미터를 `,` 를 구분자로 해 사용한다.
@GetMapping("/boards")
public String testParam(@RequestParam("ids") List<Long> ids) {
//...
}
GET https://localhost/boards?ids=1,2,3,4,5
동일한 쿼리 파라미터의 이름을 통해 보내기
💡 동일한 파라미터 명을 통해서 여러 중복값을 받아올 수 있다.
@GetMapping("/boards")
public String testParam(@RequestParam("id") List<Long> ids) {
//...
}
GET https://localhost/boards?id=1&id=2&id=3&id=4&id=5
enum을 통해 받아오는 파라미터 값 제한하기
💡 @RequestParam 변수의 타입을 enum으로 설정해 파라미터가 받아오는 값을 제한할 수 있고 활용할 수 있다.
enum값 설정
@Slf4j
@Getter
@AllArgsConstructor
public enum ProductStatus {
DUTYFREE(0), DELIVERY(1);
//enum을 활용할 수 있는 필드, 메서드 작성
}
@GetMapping("/new-product")
public ResponseEntity<ProductResponseDto.NewProduct> getNewProducts(@RequestParam(name = "product-status", required = false) ProductStatus productStatus) {
//... 생략
}
@RequestParam의 product-status 파라미터가 받아올 수 있는 값을 DUTYFREE, DELIVERY 두 개로 제한할 수 있다.
'Spring' 카테고리의 다른 글
[Spring] 토비의 스프링:: Spring Boot Containerless 이해하기 (0) | 2023.04.18 |
---|---|
[Spring] Spring Actuator를 이용한 운영 어플리케이션 관리:: 세팅 및 Health check 테스트 (1) | 2023.04.09 |
[SpringMVC] Yalm, Properties 파일의 프로퍼티 값 사용하기 (1) | 2023.04.04 |
[SpringMVC] 업무에서 활용한 @JsonInclude 사용법 정리 (4) | 2023.03.31 |
[SpringMVC] 업무에서 활용한 @RequestBody 사용법 정리 (0) | 2023.03.30 |
Comments