Como Criar uma API RESTful em Python com Flask em 5 Passos Simples

Se você quer desenvolver uma API rápida, escalável e eficiente, o Flask é uma das melhores opções.

Esse microframework para Python permite criar APIs RESTful de forma simples, sem a complexidade de frameworks mais robustos.

Neste guia prático, vou te mostrar Como Criar uma API RESTful em Python com Flask em apenas 5 passos, mesmo que você não tenha experiência com o framework.

Vamos direto ao ponto!

O que é uma API RESTful?

API RESTful em Python com Flask: Antes de colocar a mão no código, vamos esclarecer um conceito importante:

Uma API RESTful é uma interface que permite a comunicação entre sistemas através de requisições HTTP (GET, POST, PUT, DELETE, etc.).

APIs desse tipo seguem os princípios do REST (Representational State Transfer), garantindo que sejam leves, escaláveis e padronizadas.

Agora que você entendeu a base, vamos ao que interessa: criar sua API com Flask! 🚀

🛠 Passo 1: Instalando o Flask e Configurando o Ambiente

API RESTful em Python com Flask: O primeiro passo é instalar o Flask e configurar nosso ambiente de desenvolvimento.

Para isso, você precisará ter o Python 3 instalado na sua máquina.

Instalando o Flask: API RESTful em Python com Flask

No terminal, execute:

pip install flask

Se quiser trabalhar com um ambiente virtual para organizar suas dependências, faça:

python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
pip install flask

Agora que o Flask está instalado, vamos criar nossa API!

📝 Passo 2: Criando a Estrutura Básica da API para API RESTful em Python com Flask

Crie um novo arquivo chamado app.py e adicione o seguinte código:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
return "API Flask rodando!"

if __name__ == '__main__':
app.run(debug=True)

📌 Explicação rápida:
Flask(__name__) → Inicializa o aplicativo Flask.
@app.route('/') → Define uma rota para a URL raiz.
app.run(debug=True) → Inicia o servidor Flask em modo de depuração.

Agora, execute o script:

python app.py

Se tudo estiver certo, sua API estará rodando em http://127.0.0.1:5000/ 🎉

🔄 Passo 3: Criando Endpoints para a API RESTful em Python com Flask

Agora vamos adicionar funcionalidades à API.

Criamos um dicionário simples como “banco de dados” e adicionamos os métodos GET e POST.

Edite o app.py:

from flask import Flask, jsonify, request

app = Flask(__name__)

# Simulando um banco de dados
usuarios = [
{"id": 1, "nome": "Alice"},
{"id": 2, "nome": "Bob"}
]

# Rota GET para listar usuários
@app.route('/usuarios', methods=['GET'])
def get_usuarios():
return jsonify(usuarios)

# Rota POST para adicionar um usuário
@app.route('/usuarios', methods=['POST'])
def add_usuario():
novo_usuario = request.get_json()
usuarios.append(novo_usuario)
return jsonify(novo_usuario), 201

if __name__ == '__main__':
app.run(debug=True)

📌 Explicação:
jsonify() → Converte dados para JSON.
request.get_json() → Obtém dados enviados pelo cliente.
201 Created → Código de status HTTP indicando que algo foi criado.

Teste os endpoints usando o Postman ou o comando curl:

curl -X GET http://127.0.0.1:5000/usuarios

Para adicionar um novo usuário:

curl -X POST http://127.0.0.1:5000/usuarios -H "Content-Type: application/json" -d '{"id":3, "nome":"Carlos"}'

Agora temos um CRUD básico funcionando!

✏️ Passo 4: Criando Endpoints para Atualizar e Deletar

Agora, vamos adicionar PUT (atualizar) e DELETE (excluir) para completar nosso CRUD.

Adicione ao app.py:

# Atualizar usuário pelo ID
@app.route('/usuarios/<int:id>', methods=['PUT'])
def update_usuario(id):
for usuario in usuarios:
if usuario['id'] == id:
usuario.update(request.get_json())
return jsonify(usuario)
return jsonify({"erro": "Usuário não encontrado"}), 404

# Deletar usuário pelo ID
@app.route('/usuarios/<int:id>', methods=['DELETE'])
def delete_usuario(id):
global usuarios
usuarios = [usuario for usuario in usuarios if usuario['id'] != id]
return jsonify({"mensagem": "Usuário deletado com sucesso"})

📌 Explicação:
update() → Atualiza o dicionário do usuário.
404 Not Found → Retornado se o usuário não existir.
DELETE → Remove usuários com o ID informado.

Agora, sua API já tem todas as operações CRUD!

🔐 Passo 5: Melhorando a API com Validações e Segurança

Agora vamos melhorar nossa API, adicionando validações e um CORS para evitar erros de permissão em aplicações frontend.

📌 Instalando o Flask-CORS

O CORS permite que clientes frontend acessem a API. Instale o Flask-CORS:

pip install flask-cors

Agora, altere o app.py:

from flask_cors import CORS

app = Flask(__name__)
CORS(app)

Validações Simples: API RESTful em Python com Flask

Adicione um controle para evitar cadastros duplicados:

@app.route('/usuarios', methods=['POST'])
def add_usuario():
novo_usuario = request.get_json()

# Verificando se já existe um usuário com o mesmo ID
if any(usuario["id"] == novo_usuario["id"] for usuario in usuarios):
return jsonify({"erro": "Usuário com este ID já existe"}), 400

usuarios.append(novo_usuario)
return jsonify(novo_usuario), 201

Agora sua API está mais segura e confiável! 🔒

Conclusão

Criar uma API RESTful com Flask é muito mais simples do que parece!

Com apenas 5 passos, conseguimos desenvolver uma API completa, funcional e escalável:

1️⃣ Instalamos e configuramos o Flask
2️⃣ Criamos a estrutura básica da API
3️⃣ Implementamos os endpoints GET e POST
4️⃣ Adicionamos os métodos PUT e DELETE
5️⃣ Melhoramos a API com validações e CORS

Agora você tem uma base sólida para criar qualquer API que precisar!

Se quiser ir além, explore bibliotecas como Flask-RESTful, Flask-JWT (autenticação) e SQLAlchemy (banco de dados relacional).

Gostou do conteúdo? Compartilhe com quem também quer aprender Flask!

Skills Tecnológicas
Skills Tecnológicas

No Skills Tecnológicas, valorizamos o conhecimento acessível e relevante. Cada post é cuidadosamente elaborado para ser claro, útil e inspirador, independentemente do seu nível de experiência.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *