
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!
Sumário do Artigo
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! 🚀
Confira também:
🛠 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/ 🎉
Confira também:
🔄 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!