¿Cuál es la diferencia entre @RequestParam y @PathVariable?
Opciones
- Son idénticas; ambas leen el valor de la URL
@PathVariableviene de la ruta;@RequestParam, de la query (Opción correcta)@RequestParamsolo sirve para leer cuerpos JSON@PathVariablesolo se puede usar en peticiones POST
Respuesta
@PathVariable toma un valor de la ruta de la URL (/users/42); @RequestParam lo toma de la query string (/users?role=admin)
Por qué
Las variables de ruta identifican un recurso concreto: /users/{id}.
Los parámetros de query filtran, ordenan o paginan una colección: /users?role=admin&page=2.
Ambos se enlazan a parámetros del método. @RequestParam puede ser opcional con un valor por defecto: @RequestParam(defaultValue = "0") int page.
Recuerda
Ruta = qué recurso. Query = cómo filtrarlo u ordenarlo.