궁금한 것

Query parameter, Query String & Path Variable

eyoadgkn 2024. 6. 5. 21:01

Query Parameter는 URL의 일부로 포함되어서 서버에 전달되는 key-value 쌍을 말합니다.

@GetMapping("/search")
public List<Product> searchProducts(@RequestParam(name = "q") String query,
                                   @RequestParam(name = "page", defaultValue = "1") int page) {
    // 검색 쿼리와 페이지 번호를 사용하여 상품 목록 조회
    return productService.searchProducts(query, page);
}

 

위 코드에서 @RequestParam을 사용하여 q 쿼리 파라미터와 page 쿼리 파라미터를 받고 있습니다.
클라이언트는 /search?q=electronics&page=2와 같은 URL을 사용하여 데이터를 전송할 수 있습니다.

 

Query String은 URL의 일부로 포함되어 서버에 전달되는 문자열입니다. 일반적으론 쿼리 파라미터를 포함하고 있습니다.

@GetMapping("/products")
public List<Product> getProducts(@RequestParam(name = "category", required = false) String category,
                                @RequestParam(name = "sort", defaultValue = "name") String sortBy) {
    // 카테고리와 정렬 기준을 사용하여 상품 목록 조회
    return productService.getProducts(category, sortBy);
}

 

위 코드에서 클라이언트는 /products?category=electronics&sort=price와 같은 URL을 사용하여 데이터를 전송할 수 있습니다.

 

Path Variable은 URL 경로의 일부로 포함돼 서버에 전달되는 값입니다.

@GetMapping("/products/{id}")
public Product getProductById(@PathVariable(name = "id") Long productId) {
    // 제품 ID를 사용하여 상품 정보 조회
    return productService.getProductById(productId);
}

 

코드에서 클라이언트는 /products/123과 같은 URL을 사용하여 데이터를 전송할 수 있습니다.
@PathVariable을 사용하여 URL 경로의 id 부분을 productId 매개변수로 받고 있습니다.

 

Query Parameter는 URL의 일부로 포함되는 key-value 쌍, Query String은 URL의 일부로 포함되는 문자열(일반적으로 쿼리 파라미터 포함), Path Variable은 URL 경로의 일부로 포함되는 값입니다.
이러한 방식으로 클라이언트는 서버에 다양한 데이터를 전송할 수 있습니다.