Spring Boot

쿼리스트링(Query String )과 주소변수매핑(Path variable)

svdjcuwg4638 2023. 6. 7. 10:46

웹 개발에서, `쿼리 스트링(query string)`과 `경로 변수(path variable)`은 클라이언트가 서버에 데이터를 전송하는 두 가지 일반적인 방법입니다. 

Spring Boot에선 주로 경로 변수를 사용하게 된다.(쿼리스트링은 어떤것인지 알아만 놓자)

쿼리 스트링(query string)

URL의 끝에 `?` 뒤에 나오는 문자열입니다. 쿼리 스트링은 일반적으로 `key=value`의 형태로 표현되며, 여러 개의 쿼리 스트링은 `&`로 구분됩니다. 

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` 어노테이션을 사용하여 경로 변수를 사용할 수 있습니다.

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`과 같은 형태로 요청을 보낼 수 있습니다.

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