Poderia detalhar a diferença entre @PathVariable e @RequestParam? Por favor!
Poderia detalhar a diferença entre @PathVariable e @RequestParam? Por favor!
Oi Julio,
@RequestParam é utilizado para pegar uma parâmetro de query da url, por exemplo:
http://localhost:8080/topicos?curso=Java
O parâmetro curso
é um parâmetro de url e para você recuperá-lo no controller, você deve utilizar a anotação @RequestParam
:
@GetMapping("/topicos")
public void exemplo(@RequestParam String curso) {
//...
}
Já a anotação @PathVariable serve para pegar um trecho
da url que geralmente é dinâmico. Exemplo:
http://localhost:8080/topicos/java
Agora como não tem o padrão ?nomeParametro=valorParametro na url, o /java
não é mais um parâmetro de query, mas sim parte da própria url, e para recuperá-lo devemos utilizar a anotação @PathVariable
:
@GetMapping("/topicos/{curso}")
public void exemplo(@PathVariable String curso) {
//...
}
Conseguiu entender a diferença?
Bons estudos!
Consegui sim! Muito obrigado