Como escrever uma API REST em Java em 30 minutos: guia prático

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

Introdução: REST API em Java é mais fácil do que parece



O desenvolvimento de REST API é uma das habilidades mais requisitadas no desenvolvimento backend moderno. Java, graças à sua confiabilidade e enorme ecossistema, continua sendo líder na criação de APIs industriais. Muitos iniciantes acham que escrever uma REST API em Java é difícil e demorado. Na verdade, com a ferramenta certa (Spring Boot), você pode criar um serviço funcional em 30 minutos.



Neste artigo, vamos analisar na prática como criar rapidamente uma REST API completa em Java. Escreveremos uma pequena aplicação para gerenciar uma lista de livros, que suporta operações CRUD padrão: criação, leitura, atualização e exclusão de registros. Todo o código estará pronto para execução, e você poderá testá-lo através do Postman ou navegador.



1. Preparação do projeto e configuração do Spring Boot



A maneira mais rápida de criar um projeto é usar o Spring Initializr. Este é o gerador oficial que cria um esqueleto de projeto com as dependências necessárias.



1.1. Geração do projeto

Acesse start.spring.io e selecione:

  • Project: Maven (ou Gradle)
  • Language: Java
  • Spring Boot: última versão estável (ex: 3.2.x)
  • Group: com.example
  • Artifact: bookapi

Adicione as dependências:

  • Spring Web — para criar REST controllers
  • Spring Data JPA — para trabalhar com banco de dados
  • H2 Database — banco de dados embutido para testes

Clique em "Generate", baixe o arquivo zip e descompacte-o. Abra o projeto no IntelliJ IDEA ou qualquer outra IDE.



1.2. Estrutura do projeto

Após abrir o projeto, você verá a seguinte estrutura:

bookapi/├── src/│   ├── main/│   │   ├── java/com/example/bookapi/│   │   │   ├── BookapiApplication.java│   │   │   ├── controller/│   │   │   ├── model/│   │   │   └── repository/│   │   └── resources/│   │       └── application.properties│   └── test/└── pom.xml

Crie os pacotes controller, model e repository manualmente — isso facilitará a navegação.



2. Criação do modelo de dados e repositório



Vamos começar com o modelo — a classe que descreve a entidade "Livro".



2.1. Classe Book (Model)

Crie o arquivo Book.java no pacote model:

package com.example.bookapi.model;

import jakarta.persistence.*;

@Entity@Table(name = "books")public class Book {

@Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id;

@Column(nullable = false) private String title;

@Column(nullable = false) private String author;

private int year;

public Book() {}

public Book(String title, String author, int year) { this.title = title; this.author = author; this.year = year; }

// Getters e Setters public Long getId() { return id; } public void setId(Long id) { this.id = id; }

public String getTitle() { return title; } public void setTitle(String title) { this.title = title; }

public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; }

public int getYear() { return year; } public void setYear(int year) { this.year = year; }}


2.2. Repositório (Repository)

Crie a interface BookRepository.java no pacote repository:

package com.example.bookapi.repository;

import com.example.bookapi.model.Book;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.stereotype.Repository;

import java.util.L

Blogs

Book Recommendations