Como escrever uma API REST em Java em 30 minutos: guia passo a passo

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Como escrever uma API REST em Java em 30 minutos: guia passo a passo



Criar uma API REST é uma das habilidades essenciais do desenvolvedor Java moderno. REST (Representational State Transfer) permite construir serviços web leves, escaláveis e compreensíveis. Neste guia, criaremos uma API REST completa em 30 minutos usando Spring Boot. Você aprenderá a configurar o projeto, criar endpoints para trabalhar com usuários, processar JSON e testar a API via Postman ou navegador.



1. O que é uma API REST e para que serve?



API REST é um estilo arquitetural onde cliente e servidor trocam dados por meio de requisições HTTP. Os princípios básicos do REST:



  • Recursos — cada objeto (usuário, produto, pedido) é representado por uma URL.
  • Métodos HTTP — GET (leitura), POST (criação), PUT (atualização), DELETE (remoção).
  • Stateless — cada requisição contém todas as informações necessárias; o servidor não armazena estado de sessão.
  • Formatos de dados — geralmente JSON ou XML.


APIs REST são usadas em aplicativos móveis, front-ends web, microsserviços e integração de sistemas. Em Java, o framework mais popular para criar APIs REST é o Spring Boot — ele fornece anotações prontas e configuração automática.



2. Preparação do projeto Spring Boot



Para começar, você precisará de:

  • JDK 17 ou superior
  • IntelliJ IDEA ou qualquer outra IDE
  • Maven ou Gradle


Criaremos um projeto usando Spring Initializr. Selecione:

  • Project: Maven
  • Language: Java
  • Spring Boot: 3.2.0 (ou a última versão estável)
  • Dependencies: Spring Web, Spring Boot DevTools


Clique em "Generate" e descompacte o arquivo. Abra o projeto na IDE. A estrutura será assim:



rest-api-demo/├── src/main/java/com/example/restapidemo/│   ├── RestApiDemoApplication.java│   └── controller/│       └── UserController.java├── src/main/resources/│   └── application.properties└── pom.xml


3. Criação do modelo de dados e do controller



Criaremos um modelo simples User (classe no pacote model):



package com.example.restapidemo.model;

public class User { private Long id; private String name; private String email;

public User() {}

public User(Long id, String name, String email) { this.id = id; this.name = name; this.email = email; }

// Getters e Setters public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; }}


Agora criaremos o controller UserController no pacote controller. Este é o coração da nossa API:



package com.example.restapidemo.controller;

import com.example.restapidemo.model.User;import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;import java.util.List;import java.util.concurrent.atomic.AtomicLong;

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

private final List<User> users = new ArrayList<>(); private final AtomicLong counter = new AtomicLong();

public UserController() { // Dados de teste users.add(new User(counter.incrementAndGet(), "Alice", "alice@example.com")); users.add(new User(counter.incrementAndGet(), "Bob", "bob@example.com")); }

// GET /api/users — obter todos os usuários @GetMapping public List<

Blogs

Book Recommendations