Advertisement

Google Ad Slot: content-top

Spring Boot Parameters

~1 min read · Spring Boot
On this page

Spring Boot provides a simple way to handle Path Parameters and Query Parameters using @PathVariable and @RequestParam.

Path Parameters (@PathVariable)

  • Path parameters are part of the URL (e.g., /users/{id}).
  • They are mandatory.
  • Used to identify a specific resource.
Example: Get User by ID
import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api/users") public class UserController { // ✅ Path Parameter Example @GetMapping("/{id}") public String getUserById(@PathVariable int id) { return "User ID: " + id; } }
Test in Browser or Postman
GET http://localhost:8080/api/users/10
Response
User ID: 10

Query Parameters (@RequestParam)

  • Query parameters are appended after ? in the URL (e.g., /users?name=Alice).
  • They are optional (can have default values).
  • Used for searching, filtering, sorting.
Example: Search User by Name
@RestController @RequestMapping("/api/users") public class UserController { // ✅ Query Parameter Example @GetMapping("/search") public String searchUser(@RequestParam String name) { return "Searching for user: " + name; } }
Test in Browser or Postman
GET http://localhost:8080/api/users/search?name=Alice
Response
Searching for user: Alice

Multiple Query Parameters

  • You can pass multiple parameters using @RequestParam.
Example: Get Users with Filters
@RestController @RequestMapping("/api/users") public class UserController { // ✅ Multiple Query Parameters @GetMapping("/filter") public String filterUsers( @RequestParam(required = false) String name, @RequestParam(required = false) Integer age) { return "Filtering users by Name: " + name + ", Age: " + age; } }
Test with Multiple Parameters
GET http://localhost:8080/api/users/filter?name=Bob&age=25
Response
Filtering users by Name: Bob, Age: 25

Combining Path & Query Parameters

You can use both @PathVariable and @RequestParam together.

Set default values "Unknown" if parameter doesn't have city http://localhost:8080/api/user/10/details

Example: Get User Details
@RestController @RequestMapping("/api/users") public class UserController { // ✅ Path + Query Parameters @GetMapping("/{id}/details") public String getUserDetails( @PathVariable int id, @RequestParam(required = false, defaultValue = "Unknown") String city) { return "User ID: " + id + ", City: " + city; } }
Test the API
GET http://localhost:8080/api/users/10/details?city=NewYork
Response
User ID: 10, City: NewYork