티스토리 뷰
반응형
@PathVariable
URL로 들어오는 값을 얻을 때 사용합니다.
@GetMapping(value = ["/customer/{id}"])
fun getCustomer(@PathVariable id: Int) : ResponseEntity<Customer?> {
...
}
위와 같이 value 값으로 {id}를 얻어오고자 할 때 PathVariable을 사용합니다.
스프링이 컨트롤러를 자동 설정할 때 어노테이션을 인식해서 URL로 전달되는 값을 함수에 필요한 값으로 매핑하고 지정된 데이터 타입으로 변환합니다. 추가 설정 없이도 경로 변수를 함수 안으로 쉽게 매핑할 수 있는 강력한 기능입니다.
@RequestParam
꼭 명시해야 되는지와 기본 값을 설정할 수 있습니다.
@GetMapping(value = ["/customers"])
fun getCustomers(@RequestParam(required = false, defaultValue = "") nameFilter: String): List<Customer> =
customers.filter {
it.value.name.contains(nameFilter, true)
}.map(Map.Entry<Int, Customer>::value).toList()
위는 필터를 해서 값을 가져오는 코드입니다.
http://localhost:8081/customers?nameFilter=리프
RequestParam의 required를 false로 하며 필수적인 값으로 설정하지 않았습니다. 즉, nameFilter를 적어도 되고 안 적어도 됩니다.
그리고 defaultValue로 공백 문자열을 추가하였습니다. (defaultValue의 기본 값은 항상 String입니다.)
원하는 만큼 많은 매개 변수를 정의할 수 있고, 매개 변수는 URL과 구분 됩니다.
반응형
'알려주는 이야기 > 스프링 부트' 카테고리의 다른 글
Spring Boot - Http 상태 처리 (0) | 2020.09.08 |
---|---|
Spring Boot - 서비스 레이어로 코드 중복, 결합 제거 (0) | 2020.09.08 |
@RestController (0) | 2020.09.08 |
코틀린을 사용한 스프링부트로 Rest Api 만들기 - 2 (0) | 2020.06.19 |
코틀린을 사용한 스프링부트로 Rest Api 만들기 - 1 (0) | 2020.06.05 |
댓글