Neste tutorial, vamos aprender a criar uma API simples usando Flask e Python. Flask é um micro-framework de Python que é fácil de usar e é ótimo para criar APIs RESTful. Vamos passo a passo e criar uma API que permita aos usuários realizar operações básicas de CRUD (Create, Read, Update, Delete) em um banco de dados simples.
Passo 1: Instalando o Flask
Para começar, primeiro você precisa instalar o Flask no seu ambiente de desenvolvimento. Você pode fazer isso usando o pip, o gerenciador de pacotes do Python. Abra o terminal e digite o seguinte comando:
pip install Flask
Passo 2: Criando o arquivo principal
Agora, crie um novo arquivo Python na raiz do seu projeto e nomeie-o como app.py
. Este será o arquivo principal onde iremos definir nossa API.
Passo 3: Importar o Flask e criar a aplicação
No arquivo app.py
, importe o Flask e crie a sua aplicação Flask:
from flask import Flask
app = Flask(__name__)
Passo 4: Criando uma rota de teste
Vamos criar uma rota de teste simples para verificar se a nossa API está funcionando corretamente. Adicione o seguinte código abaixo da criação da aplicação:
@app.route('/')
def hello_world():
return 'Hello, World!'
Passo 5: Executando a aplicação
Agora, podemos executar nossa aplicação Flask. Para fazer isso, adicione o seguinte código ao final do arquivo app.py
:
if __name__ == '__main__':
app.run()
Agora, execute o arquivo app.py
no terminal. Você verá uma mensagem informando que o servidor Flask está rodando e você poderá acessar a sua API em http://127.0.0.1:5000/
.
Passo 6: Criando rotas para manipulação de dados
Agora vamos adicionar rotas para manipulação de dados. Vamos criar rotas para obter todos os itens, obter um item específico, adicionar um novo item, atualizar um item existente e excluir um item. Vamos criar um banco de dados simples usando um dicionário para armazenar os dados.
items = {
1: {'name': 'Item 1', 'description': 'This is item 1'},
2: {'name': 'Item 2', 'description': 'This is item 2'}
}
@app.route('/items', methods=['GET'])
def get_items():
return jsonify(items)
@app.route('/items/<int:item_id>', methods=['GET'])
def get_item(item_id):
return jsonify(items.get(item_id))
@app.route('/items', methods=['POST'])
def add_item():
item_id = max(items.keys()) + 1
item = request.json
items[item_id] = item
return jsonify(items), 201
@app.route('/items/<int:item_id>', methods=['PUT'])
def update_item(item_id):
item = request.json
items[item_id] = item
return jsonify(items)
@app.route('/items/<int:item_id>', methods=['DELETE'])
def delete_item(item_id):
items.pop(item_id)
return jsonify(items)
Passo 7: Testando a API
Agora, você pode testar a sua API usando uma ferramenta como o Postman. Você pode enviar requisições GET, POST, PUT e DELETE para as rotas que criamos para testar as operações CRUD.
Este é apenas um exemplo simples de como criar uma API com Flask e Python. Você pode expandir e adicionar mais funcionalidades à sua API, como autenticação de usuários, validação de dados, entre outras coisas. Flask é um framework bastante flexível e permite que você construa APIs poderosas de forma rápida e eficiente.
Espero que este tutorial tenha sido útil e que agora você tenha uma melhor compreensão de como criar uma API com Flask e Python. Se tiver alguma dúvida, não hesite em perguntar nos comentários. Boa sorte!
Boa noite, tem como deploy uma aplicação flask num servidor gratuito ?
No meu tá dando erro 415 quando vou rodar o post, alguém me dá uma luz pfvr.
Como funciona para fazer a minha própria mas baseado no futebol ao vivo, igual tem no site da Flashscore que mostra as partidas ao vivo e tantas outras API?, o conceito é o mesmo?
Parabéns, pela calma em ensinar.
Não existem interfaces less code que gerem estes métodos para ligar à base de dados?
quando vc vai executar, quais teclas você aperta?
que site ou app é esse que voce executa o post e get?
faz todas as partes
se ainda nao fez
Objetivo é didático! parabéns!
Que aula maravilhosa!!! muito obrigada por contribuir tanto!!!!
Show()… Simples e direto!
Cara muito obrigado. Precisava de algo fácil de entender e fazer para criar um mvp. Amei seu conteúdo.
Uma dica, para Flask com suas versões posteriores à: "Flask 2.3"
Utilize dessa maneira para não ordenar.
app.json.sort_keys = False
Sim, parte 2 com bd SQL Server
18:40 – Quando fiz o request na rota, os dados foram retornados certinho até no formato da lista mesmo, provavelmente o Flask atualizou e implementou essa "leitura" de listas do Python, né?
Aula perfeita. 🎉 parabens e muito obg
Parabéns, muito bom.
Muuuuito bom
Bom conteúdo deu para entender logo de primeira
Continue seus vídeos, muito boa explicação.