DEV Community

ledilsonmenezes
ledilsonmenezes

Posted on

Criar uma API com Endpoints POST e GET de Forma Simples em Java + Springboot

Introdução

Hoje, vou mostrar como é fácil desenvolver uma API em Java! Se você é iniciante, este guia passo a passo vai ajudá-lo a criar uma API com endpoints POST e GET.

O que é uma API?

Uma API (Interface de Programação de Aplicações) permite que diferentes sistemas se comuniquem. Uma API RESTful utiliza métodos HTTP, como GET, POST, PUT e DELETE, para manipular dados.

Image description

Por que usar um Endpoint POST e GET?

POST: Usado para enviar dados ao servidor e criar novos registros.
GET: Usado para recuperar dados do servidor.

Passo a Passo para Criar uma API com Endpoints POST e GET em Java

Configuração do Ambiente

Primeiro, certifique-se de ter o Java e o Maven instalados. Crie um novo projeto Spring Boot. Você pode usar o Spring Initializr para facilitar:

Acesse start.spring.io

Selecione as dependências: "H2 Database","Spring Web" e "Spring Data JPA".
Gere o projeto e extraia o ZIP.

Estrutura do Projeto

Depois de extrair o projeto, você verá uma estrutura padrão do Maven. No diretório src/main/java/com.api.demo, crie os pacotes chamado Entity,Repository e Controller.

Criando a Classe Modelo

Crie uma classe chamada Usuario:

package com.api.demo.Entity;

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;

@Entity
public class Usuario {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long Id;
    private String nome;
    private int idade;

    public Long getId() {
        return Id;
    }

    public void setId(Long id) {
        Id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getIdade() {
        return idade;
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }
}

Enter fullscreen mode Exit fullscreen mode

Criando o Repositório

Crie uma interface chamada UsuarioRepository:

package com.api.demo.repository;

import com.api.demo.Entity.Usuario;
import org.springframework.data.jpa.repository.JpaRepository;

public interface UsuarioRepository extends JpaRepository<Usuario,  Long> {
}

Enter fullscreen mode Exit fullscreen mode

Criando o Controlador

Crie uma classe chamada UsuarioController:

package com.api.demo.Controller;
import com.api.demo.Entity.Usuario;
import com.api.demo.repository.UsuarioRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/api/usuarios")
public class UsuarioController {

    @Autowired
    private UsuarioRepository usuarioRepository;

    @PostMapping
    public ResponseEntity<Usuario> criarUsuario (@RequestBody Usuario usuario){
        Usuario novoUsuario = usuarioRepository.save(usuario);
        return ResponseEntity.status(201).body(usuario);
    }
    @GetMapping
    public ResponseEntity<List<Usuario>>listarUsuarios(){
        List<Usuario> usuarios = usuarioRepository.findAll();
        return ResponseEntity.ok(usuarios);
    }
}

Enter fullscreen mode Exit fullscreen mode

Configurando o Banco de Dados
No arquivo application.properties, configure o banco de dados. Para um banco em memória, adicione:

spring.datasource.url=jdbc:h2:mem:testdb
spring.h2.console.enabled=true
spring.jpa.hibernate.ddl-auto=create

Enter fullscreen mode Exit fullscreen mode

Url do banco de dados H2 http://localhost:8080/h2-console

Image description

Testando os Endpoints

Inicie a aplicação. Você pode usar o Postman ou Insomnia para testar.

https://www.postman.com/

https://insomnia.rest/

Para o endpoint POST, envie uma requisição para
http://localhost:8080/api/usuarios com um corpo JSON:

{
    "nome": "João",
    "idade": 25
}

Enter fullscreen mode Exit fullscreen mode

Para o endpoint GET, envie uma requisição para
http://localhost:8080/api/usuarios.
Você receberá uma lista de usuários no formato JSON.

Pronto! Você criou uma API simples em Java com endpoints POST e GET. Agora, você pode expandir essa API para adicionar mais funcionalidades. A prática leva à perfeição, então continue explorando!

Se você gostou deste guia, compartilhe suas experiências nos comentários ou me avise se precisar de mais dicas!

Top comments (0)