@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}