@PathVariable vs @RequestParam — Spring Technical Interview Questions & Answers
URL path segments vs query string parameters.
@PathVariable vs @RequestParam
- Both read input from the URL, but from different places.
- @PathVariable: part of the path — /users/5 → id = 5.
- @RequestParam: query string — /users?active=true → active = true.
- Use path variables for resource identity; query params for filters/options.
- Mixing them up in API design interviews.
- Give one URL example for each annotation.
Technical Interview Tip: /users/{id} vs /users?role=admin.
Code Examples for @PathVariable vs @RequestParam
@PathVariable vs @RequestParam — working example
import java.util.Map;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/users")
class UserController {
@GetMapping("/{id}")
ResponseEntity<String> get(@PathVariable Long id) {
return ResponseEntity.ok("user-" + id);
}
@GetMapping
String byRole(@RequestParam(defaultValue = "user") String role) {
return "role=" + role;
}
@PostMapping
ResponseEntity<String> create(@RequestBody Map<String, String> body) {
return ResponseEntity.status(201).body("created:" + body.get("email"));
}
}@PathVariable vs @RequestParam — @RestController = API JSON/text; @PathVariable from URI, @RequestParam from query, @RequestBody from JSON body.
How to Explain @PathVariable vs @RequestParam to an Interviewer
What is @PathVariable vs @RequestParam (sb rest)?
Used for GET /api/marks/{roll} a campus API Not just the heading
Give one small example of @PathVariable vs @RequestParam (sb rest).
@RestController + service call URL path segments vs query string parameters
What mistake do beginners make with @PathVariable vs @RequestParam (sb rest)?
business logic inside the controller Show the fix
Where do you use @PathVariable vs @RequestParam (sb rest)?
a campus API GET /api/marks/{roll}