Sobes.tech
Junior — Middle

As anotações específicas do pacote Spring aplicadas com @RestController não são indicadas?

sobes.tech IA

Resposta da IA

A anotação @RestController no Spring combina duas anotações: @Controller e @ResponseBody. É usada para criar serviços web RESTful, onde os métodos do controlador retornam dados diretamente em formato JSON ou XML.

As anotações específicas frequentemente usadas junto com @RestController para configurar o roteamento e o processamento de requisições HTTP incluem:

  • @RequestMapping — para definir o caminho e o método HTTP (GET, POST, etc.)
  • @GetMapping, @PostMapping, @PutMapping, @DeleteMapping — atalhos especializados para @RequestMapping com um método HTTP específico
  • @PathVariable — para obter variáveis da URL
  • @RequestParam — para obter parâmetros da requisição
  • @RequestBody — para vincular o corpo da requisição a um objeto

Exemplo:

@RestController
@RequestMapping("/api/users")
public class UserController {

    @GetMapping("/{id}")
    public User getUser(@PathVariable Long id) {
        // lógica para obter o usuário pelo id
    }

    @PostMapping
    public User createUser(@RequestBody User user) {
        // lógica para criar um usuário
    }
}