쿼리스트링과 주소변수매핑

오하수·2026년 1월 15일

쿼리 스트링

URL의 끝에 '?' 뒤에 나오는 문자열이다. 쿼리스트링은 일반적으로 'key = value'의 형태로 표현된다. 주로 조회(GET)요청에서 사용됨

URL?key = value
-> http://localhost:8080/api/memos?username=minjae

? : 쿼리 스트링 시작
username : 파라미터 이름(key)
minjae : 파라미터 값(value)

여러 개의 쿼리 스트링은 '&'로 구분됩니다.

http://localhost:8080/api/memos?username=minjae&age=20

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class QueryStringController {
    
    
    @GetMapping("/greeting") 
    					// @RequestParam은 생략가능하다
    public String greeting(@RequestParam String name) {
        return "Hello, " + name;
    }
}

이 경우, '/greeting?name = John'과 같은 형태로 요청을 보낼 수 있다.

경로 변수(path variable)

경로 변수는 URL 경로에 포함된 값을 의미하며, Spring에서는 {변수명} 형태로 경로를 정의하고 실제 요청 시 해당 위치의 값이 @PathVariable을 통해 전달된다.

/api/memos/1

여기서 1이 경로 변수이다.

URL의 특정 부분을 변수로 사용할 수 있다. Spring에서는 '@PathVariable' 어노테이션을 사용하여 경로 변수를 사용할 수 있다.

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class PathVariableController {
    
    @GetMapping("/greeting/{name}")
    public String greeting(@PathVariable String name) {
        return "Hello, " + name;
    }
}

이 경우, 'greeting/John'과 같은 형태로 요청을 보낼 수 있다.

요약하면, 쿼리 스트링은 선택적인 매개변수를 전달하는 데 주로 사용되며, 경로 변수는 필수 매개변수를 전달하는 데 주로 사용된다. 선택적인 데이터나 필터링을 위한 매개변수는 쿼리 스트링으로, 필수 적인 데이터는 경로 변수로 전달하는 것이 일반적이다.

profile
오늘하루도수고하세용~

0개의 댓글