image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF
João Santos
João Santos19/09/2025 13:22
Compartir
Microsoft - Azure AZ-900Recomendado para tiMicrosoft - Azure AZ-900

🌐 Anotações do Spring Boot para Web REST Controllers

    ✨ Introdução

    O desenvolvimento de APIs RESTful com Spring Boot é uma das abordagens mais eficientes e elegantes no ecossistema Java. Grande parte dessa praticidade vem do uso de anotações, que permitem configurar rotas, manipular dados da requisição e estruturar o comportamento dos controladores de forma clara e concisa.

    Neste artigo, vamos explorar as principais anotações utilizadas em Web REST Controllers, explicando cada uma com exemplos práticos para facilitar sua aplicação no dia a dia.

    🧩 Anotações Essenciais para Controllers REST

    📌 @RestController

    • Função: Define a classe como um controlador REST. Combina @Controller e @ResponseBody, retornando os dados diretamente no corpo da resposta (geralmente em JSON).
    • Exemplo:

    java

    @RestController
    public class ProdutoController {
      // métodos retornam JSON
    }
    

    📌 @RequestMapping

    • Função: Mapeia rotas HTTP para métodos ou classes. Pode definir o caminho e o tipo de requisição.
    • Exemplo:

    java

    @RequestMapping(value = "/produtos", method = RequestMethod.GET)
    public List<Produto> listar() {
      return produtoService.listarTodos();
    }
    

    📌 @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, @PatchMapping

    • Função: Atalhos para @RequestMapping com métodos HTTP específicos.
    • Exemplo:

    java

    @GetMapping("/produtos/{id}")
    public Produto buscarPorId(@PathVariable Long id) {
      return produtoService.buscar(id);
    }
    

    📌 @PathVariable

    • Função: Extrai variáveis diretamente da URL.
    • Exemplo:

    java

    @GetMapping("/clientes/{id}")
    public Cliente buscar(@PathVariable Long id) {
      return clienteService.buscarPorId(id);
    }
    

    📌 @RequestParam

    • Função: Captura parâmetros da query string.
    • Exemplo:

    java

    @GetMapping("/produtos")
    public List<Produto> filtrar(@RequestParam String categoria) {
      return produtoService.filtrarPorCategoria(categoria);
    }
    

    📌 @RequestBody

    • Função: Mapeia o corpo da requisição (geralmente JSON) para um objeto Java.
    • Exemplo:

    java

    @PostMapping("/clientes")
    public Cliente criar(@RequestBody Cliente cliente) {
      return clienteService.salvar(cliente);
    }
    

    📌 @ResponseStatus

    • Função: Define o status HTTP da resposta.
    • Exemplo:

    java

    @PostMapping("/clientes")
    @ResponseStatus(HttpStatus.CREATED)
    public Cliente criar(@RequestBody Cliente cliente) {
      return clienteService.salvar(cliente);
    }
    

    📌 @CrossOrigin

    • Função: Permite requisições de outros domínios (CORS), útil para integração com front-end.
    • Exemplo:

    java

    @CrossOrigin(origins = "http://localhost:3000")
    @GetMapping("/produtos")
    public List<Produto> listar() {
      return produtoService.listarTodos();
    }
    

    📌 @ControllerAdvice e @ExceptionHandler

    • Função: Tratamento global de exceções, permitindo capturar e responder erros de forma centralizada.
    • Exemplo:

    java

    @ControllerAdvice
    public class ErroHandler {
    
      @ExceptionHandler(EntidadeNaoEncontradaException.class)
      public ResponseEntity<String> tratarErro(EntidadeNaoEncontradaException ex) {
          return ResponseEntity.status(HttpStatus.NOT_FOUND).body(ex.getMessage());
      }
    }
    

    🧠 Conclusão

    As anotações para Web REST Controllers no Spring Boot são ferramentas poderosas que tornam o desenvolvimento de APIs mais fluido, organizado e expressivo. Dominar essas anotações é essencial para criar aplicações robustas, escaláveis e fáceis de manter.

    Se você está construindo uma API ou apenas aprimorando seu conhecimento, entender essas anotações é um passo fundamental para escrever código limpo e eficiente. E lembre-se: quanto mais você pratica, mais natural o uso dessas ferramentas se torna.

    Compartir
    Recomendado para ti
    Microsoft Certification Challenge #4 - DP 100
    Microsoft Certification Challenge #4 - AZ 204
    Microsoft Certification Challenge #4 - AI 102
    Comentarios (0)
    Recomendado para tiMicrosoft - Azure AZ-900