Сегодня поговорим о двух аннотациях в Spring — @RequestParam и @PathVariable, разберём их различия и приведём примеры использования.
Работа с параметрами запроса — одна из ключевых задач при разработке веб-приложений. @RequestParam и @PathVariable помогают легко извлекать данные из URL.
▶️Аннотация @PathVariable
Используется для получения значений из пути URL. Например, если у нас есть запрос
http://website.com/products/123, где 123 — это ID продукта:@GetMapping("/products/{id}")
public Product getProduct(@PathVariable String id) {
// обработка ID
return productService.getProductById(id);
}В этом случае 123 автоматически будет сопоставлено с параметром id метода.
▶️Аннотация @RequestParam
Эта аннотация используется для извлечения параметров из строки запроса. Например, если запрос выглядит так:
http://website.com/products?id=123:@GetMapping("/products")
public Product getProduct(@RequestParam String id) {
// обработка ID
return productService.getProductById(id);
}Здесь id=123 извлекается из параметров URL и передаётся в метод.
▶️Где и когда использовать?
@PathVariable удобно применять, когда значения являются частью структуры пути URL (например, идентификатор ресурса). Часто используется в REST API для четкой организации маршрутов, например
/users/{userId} или /orders/{orderId}.@RequestParam подходит для работы с необязательными или дополнительными параметрами, передаваемыми в строке запроса, например фильтры, сортировка или пагинация:
/products?category=electronics&sort=price.📌 Используйте @PathVariable для статичных идентификаторов и @RequestParam для динамических, кастомизируемых параметров.
❤️ — если было полезно
📱 Java Developer | #обучение
