Como CRIAR A Sua PRIMEIRA API em Python Com o FastAPI
Como CRIAR A Sua PRIMEIRA API em Python Com o FastAPI
com o FastAPI
Tutorial para você construir a sua primeira API totalmente do zero
Share
Fonte: https://github.com/tiangolo/fastapi
Introdução
Python é a linguagem que mais cresce no mundo. E, trabalhar com APIs é algo
fundamental para qualquer desenvolvedor de software. Ao pensarmos em APIs e
Python, temos sempre no topo do lista os frameworks Django e Flask.
Mas, o FastAPI promete entrar para essa lista também, devido à sua velocidade de
processamento e rapidez para codar, ou seja, de sair do “Hello World” até a
construção de uma API.
D ado o potencial desse framework, neste tutorial, vamos construir uma API
totalmente do zero, sendo um guia para iniciantes. Nessa linha,
desenvolveremos o CRUD com os métodos de GET, PUT, POST e DELETE,
aproveitando o máximo da biblioteca.
1. Pré-requisitos
3. Desenvolvimento do CRUD
4. Conclusão
1. Pré-requisitos
Os pré requisitos são: ter o python 3.6 ou superior instalado na sua máquina, assim
como as bibliotecas fastapi e uvicorn. Além disso, é recomendado um ambiente
virtual para o projeto.
Para inicializarmos o ambiente virtual, o primeiro passo é estar na pasta criada para
o projeto e rodar o seguinte código no terminal Linux:
Como estamos desenvolvendo uma API inicial e simples, vamos seguir com o
uvicorn como sendo o servidor ASGI, também utilizado na documentação oficial da
linguagem.
Importante notar o argumento “ — reload”, que é responsável por atualizar o projeto toda
vez que o arquivo api.py é modificado. No caso de desenvolvimento, é extremamente útil,
no entanto, caso você esteja em um ambiente produtivo, essa flag não é recomendada.
3. Desenvolvimento do CRUD
Ao chegarmos até aqui, já temos todas as dependências, o servidor rodando no
nosso navegador e com o hello world já desenvolvido. Agora, vamos à seção do
CRUD!
Base de dados
Primeiramente, criamos uma base composta por dicionários dentro de uma lista,
com os atributos destacados acima.
1 menu = [
2 { 'id': 1,
3 'name': 'coffee',
4 'price': 2.5
5 },
6 {
7 'id': 2,
8 'name': 'cake',
9 'price': 10
10 },
11 {
12 'id': 3,
13 'name': 'tea',
14 'price': 3.2
15 },
16 {
17 'id': 4,
18 'name': 'croissant',
19 'price': 5.79
20 }
21 ]
GET item
BaseModels
1 class Item(BaseModel):
2 name: str
3 price: float
4
5
6 class UpdateItem(BaseModel):
7 name: Optional[str] = None
8 price: Optional[float] = None
4. Conclusão
Com poucas linhas de código o framework cumpre o que promete com relação à
agilidade no desenvolvimento. Em referência à velocidade de processamento, não
realizamos nenhum teste, mas temos referências na internet de estudos, como esse,
que embasam isso.
Outro ponto a ser considerado é que ele é adotado por grandes empresas de
tecnologia como Uber, Netflix e Microsoft, tendo recomendações e elogios
encontrados na documentação. No entanto, por ser muito recente a comunidade
ainda é menor do que o Django e Flask.
Por fim, deixo o github do projeto com todo o código aqui. Aproveito a
oportunidade para deixar meus contatos:
LinkedIn: https://www.linkedin.com/in/matheus-lins-vasconcellos/
Github: https://github.com/matheusvclls
Referências:
Documentação FastAPI: https://fastapi.tiangolo.com/
Documentação Pydantic: https://pydantic-docs.helpmanual.io/usage/models/
Follow