COMO CRIAR UMA API REST DO ZERO COM PYTHON E FLASK
HTML-код
- Опубликовано: 1 ноя 2024
- Saber como criar uma API REST do zero com Python e Flask está sendo cada vez mais uma habilidade extremamente vital para qualquer programador que queira crescer em sua carreira na área do desenvolvimento de software.
Cada vez mais as soluções estão sendo contruída baseadas na Web e uma API REST é essencial para que isso aconteça. Então saber como criar uma API REST do incío até o fim de forma orgranizada é o mínimo que está sendo exigido para qualquer vaga de emprego com programador.
Nesse vídeo vamos aprender de forma 100% prática, colocando a mão na massa uma API utilizando a linguagem de programação Python e seu Micro-Framework Flask.
MELHOR CURSO PROGRAMADOR FULLSTACK
📲 💻hotm.art/SUPER...
✔️🐍 Meu Curso com DESCONTO EXCLUSIVO: bit.ly/y-3qk76A2
🚨🚨🚨 PROMOÇÕES 🚨🚨🚨:
🚨 MOUSE - amzn.to/3kaNmgv
🚨 FONE + HEADSET - amzn.to/3sspmZd
🚨 MONITOR ULTRAWIDE - amzn.to/3pBUgw5
🚨 TECLADO MECÂNICO - amzn.to/3kc3T3O
📚 Leitura OBRIGATÓRIA
REST. Construa API's Inteligentes de Maneira Simples: amzn.to/2ZDuHAg
Clean Code: amzn.to/3skw1Vb
O Universo da Programação: amzn.to/2MeqbVW
Como Ser Um Programador Melhor: amzn.to/3k9lnO5
Padrões de Projetos: Soluções Reutilizaveis de Software: amzn.to/3bn5lw2
🚨🚨🚨 INSCREVA-SE: bit.ly/SJDhhaA12
0:25 - Vital para a vida de um programador
1:23 - O que é o Flask?
2:02 - Inscreva-se!
2:48 - Iniciando o desenvolvimento
3:10 - Criando uma venv
4:04 - VSCode
5:03 - Instalando Flask
5:23 - Criando a primeira aplicação em Flask
6:50 - Um projeto de verdade!
8:30 - Criando a classe da instancia do server
10:20 - Criando o controller
15:30 - Testando o endpoint GET
16:00 - Criando o endpoint POST
17:40 - Testando o endpoint POST
18:20 - Documentando a API
18:40 - Super desconto do meu curso: bit.ly/y-3qk76A2
Documentações:
Flask: flask.palletsp...
Flask Restplus: flask-restplus...
✅ Gostou desse vídeo?
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
✍️ Deixe seu comentário
📢 Compartilhe com os amigos
🕵 E me siga nas redes sociais
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
▸ Instagram
bit.ly/PedroIm...
▸ Medium
bit.ly/PedroIm...
▸ GitHub
github.com/ped...
▸ LinkedIn
bit.ly/PedroIm...
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
MELHOR CURSO PROGRAMADOR FULLSTACK
📲 💻hotm.art/dev-fullstack-profissional
Parabésn pelo conteudo, excelente! Dica para quem chegou depois de hoje 31/10/2022.
O Modulo FLASK-RESTPLUS foi substituido pelo modulo FLASK-RESTX e as versões em funcionamento hoje são: Flask == 2.1.2, flask-restx >= 0.5.1, Werkzeug
TOP !
mano ce salvouu, valeu!!
após 1 ano aqui ja não é mais assim, para consumir este contudo sem erros ao iniciar o server precisa de FLASK-RESTX and Werkzeug ==3.0.3
Muito bom, obrigado. Sobre o Werkzeug:
Basta usar pip install werkzeug para instalar a última versão, incluindo o Flask-RESTx também.
Excelente aula.
Tive problemas com flask-restplus mas contornei utilizando flask-restx
Boa Thiago 🙏🏻 valeu pela mensagem cara, fico feliz que tenha ajudado e que tenha conseguido resolver o problema aí 🙏🏻
me salvou cara, utilizei o flask-restx e funcionou tudo belezinha aqui :)
Melhor tutorial que encontrei até agora
Só uma OBS:
'flesk_restplus ' foi descontinuado por algum problema na chave .... mas é só substituir por 'flesk_restx'
'restx' é o mesmo que 'restplus '
Instalar e substituir os imports por 'flesk_restx' ... aqui funcionou.
muito bom!
só um toque, pra aumentar a qualidade do vídeo: aumenta a fonte. Isso pode ajudar bastante quem tem que dividir o monitor ou assistir em PiP
Valeu mesmo cara, nunca tinha feito uma API e com seu video ficou tudo mais fácil! Só tive que usar o flask-restx ao invés do flask-restplus porque esse último foi descontinuado.
Que show Renan!! Muito obrigado pela sua mensagem 🙏🏻 fico muito feliz em saber que o vídeo tenha ajudado 😄😄
Opa, boa noite. Saberia me dizer qual versão do Werkzeug vc usou?
Pq parece que tanto a 2.0.0 quanto a 0.16.0 não são compatíveis com flask-restx
@@giancolijabour usei essa versão aqui Werkzeug==1.0.1
otimo conteudo! não para mano...
Pedrera da Bahia, muito obrigado por didaticamente dar simplicidade à confecção da API. Estou com um desafio de enviar informações para o Azure DEVOPs e vou utilizar esta estrutura que você apresentou aqui. Muito Obrigado!
que Toop Luciano!!! é isso aí, fico feliz que esteja ajudando
grande abraço
mano trampo com django, mas me envolvi em um projeto usanod flask, resumindo estou aqui pesquisando kkkk, valeu pelo video!
Que aula TOP!!! Tive problema no flask-restplus mas troquei pelo flask-restx e passou. Tem algum video sobre o deploy disto em alguma nuvem? azure ou aws, etc...
Boa Leandro!! Realmente o flask-restplus foi descontinuado e agora o flask-restx está no lugar dele.
Sobre o deploy, eu tenho um vídeo (ruclips.net/video/01iXLbvGcNE/видео.html) que faço o deploy na plataforma do Heroku (totalmente gratuita) com a aplicação Django.
Mas fica de olho aqui no canal que nas próximas semana vai ser um vídeo sobre o deploy no GCP com essa aplicação ai
Grande abraço
muito legal, mas porque vc não usa o console do vscode?; porque vc ta usando a estrutura igual ao app node ou ate react?
Olá muito bom o video parabéns! mas eu gostaria de saber se com o flask-sqlalchemy é possivel interligar dois models, com o ORM.
o ''from server.instance import server'' não funcionou no meu :(
Didática simples e objetiva, gostei
opa, valeu Eduardo 🙏🏻👊🏻
muito show, gostaria de aprender criar apis, tipo do ifood, eles tem uma autenticacao, que devemos gerar para obter um token que tem mais de 1000 caracteres, este token tem validade de 6 horas, chegando perto de acabar tem que ser gerado outro pela aplicação que vai consumir, pode nos ensinar tipo esta api do ifood ? e também como consumila depois que estou estudando, ^^, outra coisa teria como no video aumentar a fonte dificil de ver os codigos, e obrigado
Parabens Pedro, video direto e com informações uteis
Opaa Leonardo!! Que top a mensagem!! Muito obrigado mesmo 👊🏻👊🏻👊🏻
Muito boa a tua didática!! Poderia me dizer qual seria a arquitetura utilizada? Vi que dividiu nos arquivos controllers e server, adicionei uma conexão com API criando outra pasta services...
Fala Pedro, belo vídeo cara! Só uma sugestão de melhoria flask_restplus está sendo descontinuado, e o flask_restx está tomando o lugar, TMJ e obg pelo conteúdo.
Opa Guilherme, muuuito obrigado pela mensagem, é isso aí mesmo, bem pontuado
grande abraçoo
video maravilhoso, mas da um zoom na tela fvr, meus olhos agradacem🤓
Mds finalmente um video onde eu vejo uma api com arquitetura de projeto bem feita e nao controladores, classes de entidade, conexão com o banco em um arquivo só e ta pronta a "api"
Parabéns, conteudo incrivel.
Consigo consumir uma api feita em python/flask em um aplicativo react-native?
Opa Samuel, com certeza!
Uma API Rest pode ser consumida por qualquer “client” não importa qual linguagem se programação é
Qual o segundo video? após esse, para criar do Documentação? Não achei
Olá Cíntia, tá na mão: ruclips.net/video/wfVpAzhg6e0/видео.html
espero que tenha ajudado :)
Meu flas_restplus dá um erro na hora do import
"from collections.abc import OrderedDict, MutableMapping
ImportError: cannot import name 'OrderedDict' from 'collections"
Neste tutorial eu nao preciso criar um vitualenv ou qualquer coisa assim?
Bom, sabe-se lá o porque eu NÃO CONSIGO DE JEITO NENHUM fazer automações no windows, tive que instalar Linux (Kali no caso), sofri um pouco, acho que no ubuntu teria sofrido menos, mas enfim...
O meu estava com um erro por causa do Flask RestPlus, que foi descontinuado, usem o FLASK RESTX que funciona caso tenham o mesmo erro.
Ótimo vídeo!
Para mim aparece o seguinte erro:
app,api = server.app,server.api
AttributeError: 'Server' object has no attribute 'app'
Já revisei o código várias vezes, está igual.
Alguma sugestão?
Wolney, você instalou o flask_restx ao invés do flask_restplus como dito em comentários anteriores?
Muito bom! Este seria o mesmo processo de API Rest para criar produtos no wordpress (não uso woocommerce, uso um tema) e que possa ser copiado para o vTiger automaticamente?
Disponibiliza teu curso para Udemy business, please!
Colegal, por favor ... tô quebrando a cabeça aqui ... estou usando python 3.8.6 com flask 2.0, werkzeug 2.0 e flask-restplus 0.13
Traceback (most recent call last):
File "main.py", line 1, in
from src.server.instance import *
File "C:\Users\WINDOWS\Documents\PythonProjEnvs\PyApi2\PyApi2\src\server\instance.py", line 2, in
from flask_restplus import Api
File "C:\Users\WINDOWS\Documents\PythonProjEnvs\PyApi2\PyApi2\lib\site-packages\flask_restplus\__init__.py", line 4, in
from . import fields, reqparse, apidoc, inputs, cors
File "C:\Users\WINDOWS\Documents\PythonProjEnvs\PyApi2\PyApi2\lib\site-packages\flask_restplus\fields.py", line 17, in
from werkzeug import cached_property
ImportError: cannot import name 'cached_property' from 'werkzeug' (C:\Users\WINDOWS\Documents\PythonProjEnvs\PyApi2\PyApi2\lib\site-packages\werkzeug\__init__.py)
O que pode estar acontecendo ??
conseguiu temrinar?
Troquei flask_restplus pelo flask_restx com o werkzeug 2.0.1 e funcionou
Muito legal a iniciativa. Achei o tutorial simples e bem focado. Poderia melhorar um pouco na explicação, por exemplo, para quem nunca mexeu com flask explicando o porquê de cada coisa mais detalhado.
Cara não consigo ativar a virtual env...
eu instalei ela primeiro com o comando "pip install virtualenv"
criei ela com "virtualenv pyflask" e fui tentar ativar...
eu passo o comando "source pyflask/bin/activate" não vai
passei só "pyflask/bin/activate" tmb não foi
passei: activate pyflask tmb não deu
diz que o "source não é reconhecido pelo cmdlet" porém não sei como resolver...
Consegui ativar aqui, para quem tiver o mesmo problema fiz o seguinte:
Passei o comando "NomedaSuaPastaVenv/Scripts/Activate.ps1" (.ps1 para quem estiver usando no powershell)
para quem usar no cmd tente utilizar o ".bat"
Colega, a pasta src não ficou dentro da venv ?? segundo mostra o code. ?
Ola Zé, obrigado pela mensagem
A pasta src está ao lado da venv
Muito bom tutorial. Consegui implementar diversas APIs mas não consigo implementar para @api.route('/'). Ocorre ""GET / HTTP/1.1" 404 -".
Outro problema ocorre ao utilizar render_template('hello.html')... não está encontrando o template que está na pasta /templates.
Não sei se pode ser algo relacionado ao uso do flask_restplus ...
Você pretende publicar um curso Flask no Udemy ? .... ou orienta utilizar Django ao invés de Flask ?
Olá Marcelo, por acaso você conseguiu resolver esse problema com o API route, estou com o mesmo problema.
Uma dúvida, como seria utilizar vários gets? Por exemplo getBooks e getBookById? Seriam todos os métodos com o mesmo nome "get" alterando apenas a rota do endpoint?
O consumo de memória do wsl2 é nojento de grande ... Comecei a considerar voltar pro vbox, pois assim posso controlar a ram usada pelo processo hyper-v Eu tb estou com um note velho com 6gb de ram e nem o docker posso usar
Boa tarde, poderia-me explicar como acesso uma base de dados com esta API? Ótimos vídeos muitos parabéns :)
Fala Bruno, obrigado por perguntar aqui, na verdade eu já estou gravando um vídeo para esse assunto e logo logo estará no ar, provavelmente semana que vem. Então fica de olho aqui no canal pra você não perder ele.
Grande abraço!!
Ola, mano. Gostaria de saber qual comando para windows, no lugar de "export". Abraço.
opa Marcelo, puts, não entendi muito bem 😕
set FLASK_APP=main.py
ou deixar no arquivo do programa app.run(port=8080, debug=True) e rodar como se fosse qualquer outro script de python
OPa. ta top a aula. Mas tive um problema no server, tento instalar o modulo com pip e me retorna isso: ERROR: Could not find a version that satisfies the requirement server (from versions: none)
ERROR: No matching distribution found for server.
Alguém pode ajudar?
mesmo problema
Qual o nome desse termina?
Ótimo vídeo Pedro, cara seria legal fazer uma API assim usando um banco, SQLite mesmo
Opa Ewerton!! Boa ideia cara!! Vou fazer um sim, da pra fazer tranquilo
Fica de olho que nos próximos vídeos já vai estar disponível
👊🏻👊🏻
Cara porque digito no cmd venv/bin/activate e não funciona, tem mo dificuldate com essas virtual venv
opa Daniloo, puts cara
se estiver usando algum Linux precisa colocar o "source" antes.
tipo assim: source venv/bin/activate
@@pedroimpulcetto sofri aqui mais entendi, valeu.
Muito massa o video, voce esta usando zsh no seu sheel?
Pode fazer um video ensinando a colocar o wsl dentro do windows e colocando tema zsh igual da sua maquina?
o meu tá dando o seguinte erro: "TypeError: The view function did not return a valid response. The return type must be a string, dict, tuple, Response instance, or WSGI callable, but it was a Booklist."
Tranformei em tuple mas mesmo assim não tá rolando, se alguém souber como ajudar agradeço.
Opa Alyne, pelo erro, parece que na response você está retornando um objeto “Booklist” e não um “dict”
Se não conseguir, compartilhe o repositório com a gente aqui para podermos te ajudar
dentro de controllers antes da class BooksList voce declarou @app ou @api? pq o certo é @api, espero que isso ajude!
@@guilhermebrantgarcia5318 Muito obrigado mano, passei um tempão nesse erro kkkkk, falta de atenção é fogo
Que terminal é esse no video?
Faaala Charles!! cara o terminal é Hyper, o design nele usei o Oh My Zsh Spaceship + Dracula Theme e as funções dele são do WSL Ubunto para Windows. Abração 👊🏻😄
Anotações.
bom video!
Opa, valeu Tiago 🙏🏻👊🏻😄
Quem estiver recebendo o Erro:
from flask import Flask
ModuleNotFoundError: No module named 'flask'
Basta instalar usando : pip3.10 install Flask.
Versão do meu python
Python 3.9.12
Alguma chance de rolar uma parte 2 mostrando como fazer os métodos PUT e DELETE? Eu entendi que é pra criar funções dentro da classe BookList mas, como fazer as funções é o que tá me bugando mesmo. Como selecionar a id pra deletar, como fazer um put que muda o título pela id, e por aí vai.
Seria bem foda!
Tem uma coisa só, eu não tenho os comandos do linux dentro do windows kkkk
405 Method not allowed, alguém ajuda?
Eu travei nesse erro aqui. Está muito difícil resolver! Podem me ajudar?
Traceback (most recent call last):
File "C:\Users\Dell\library\app.py", line 1, in
from src.server.instance import server
File "C:\Users\Dell\library\src\server\instance.py", line 3, in
from flask_restplus import Api
File "C:\Users\Dell\library\venv\lib\site-packages\flask_restplus\__init__.py", line 4, in
from . import fields, reqparse, apidoc, inputs, cors
File "C:\Users\Dell\library\venv\lib\site-packages\flask_restplus\fields.py", line 17, in
from werkzeug import cached_property
ImportError: cannot import name 'cached_property' from 'werkzeug' (C:\Users\Dell\library\venv\lib\site-packages\werkzeug\__init__.py)