Tópico de hoje do @Riajes (um dos vários sósias do Seu Madruga aqui do site haha) me motivou a falar de APIs hoje aqui.
Afinal, o que é uma API?

API é a sigla de Application Programming Interface, que nada mais é que um software que permite com que duas aplicações, dispositivos, enfim, comuniquem-se entre si.
A web é um conjunto gigantesco de servidores remotos (já falamos sobre servidores aqui
Como a web funciona - Tecnologia - Bastter.com e aqui
"Precisamos gastar cada vez mais com servidores" - Tecnologia - Bastter.com) que a todo momento estão se comunicando entre si ou entre nossos dispositivos, navegadores, etc.
Quando acessamos um site qualquer em nosso navegador, o servidor remoto onde nosso site está hospedado recebe nossa requisição para acesso àquele conteúdo, processa os dados que precisa e envia de volta para nosso navegador os dados. Essa parte de processamento é feita por meio de uma API.
Mas vamos trazer isso para o mundo real com um exemplo que vi em um site bem interessante (
What is an API? (Application Programming Interface) | MuleSoft).

Imagine-se sentando a uma mesa de um restaurante (algo que ultimamente é impossível mas um dia poderemos voltar a fazer isso rs) e abrindo o cardápio do restaurante. Você precisa se comunicar com a cozinha, que é a parte do "sistema" restaurante que prepara sua comida, e indicar para a cozinha que você quer comer um prato x com uma bebida y. O que falta é a conexão entre você e a cozinha, para que o pedido seja feito e, quando pronto, seja retornado à sua mesa.
É aí que a API, ou o garçom ou garçonete, entram em ação. Ele vai receber sua "requisição", ou seu pedido, enviar o pedido para a cozinha e, quando a cozinha tiver finalizado seu pedido, o garçom irá enviar sua "resposta", ou seu prato, para você em sua mesa.
Nesse exemplo, como dito acima, o garçom é a API.
Num mundo de APIs reais, ao acessar sites como booking para fazer uma reserva em hotéis (algo que também tá complicado), ao entrar no site e selecionar que você quer um quarto em Belo Horizonte para o Natal deste ano no bairro da Pampulha, você está enviando para a API do booking uma requisição com os dados necessários para que ela processe esses dados, acesse o banco de dados e retorne a você uma resposta com os quartos disponíveis nas condições pedidas.
Dá pra criar posts de uma semana falando de APIs mas o que poderia falar de uma introdução básica seria isso.
Pra não ficar um tópico básico demais, vamos criar nossa primeira API em Python.
Como de costume, vamos precisar instalar dependências externas, que é a lib FastAPI e outra lib que vai servir para criar o servidor local, a uvicorn. Dentro de uma pasta abra um terminal e digite:
pip install fastapi uvicorn
Agora crie um arquivo main.py e vamos criar nossa primeira API. Ela irá receber requisições na rota "/" e irá retornar um Hello World em formato de dicionário (que a API irá retornar no formato JSON, mas não se preocupem com isso agora, vamos detalhar isso em outros tópicos):
# Importando a lib FastAPI
from fastapi import FastAPI
# Instanciando FastAPI
app = FastAPI()
# Criando a primeira rota
@app.get('/')
def index():
return {"Hello": "World"}
Acima temos detalhes já vistos em tópicos anteriores de Python como a criação de instâncias de classes, decoradores, funções, retorno de funções, etc.
Vamos rodar nosso servidor local agora. Abra um terminal e digite.
(venv) $ uvicorn main:app --reload
O nosso terminal irá demonstrar algo assim:
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [9067]
INFO: Started server process [9069]
INFO: Waiting for application startup.
INFO: Application startup complete.
Abra um navegador e acesse o endereço do nosso servidor local, que está em
http://127.0.0.1:8000:

No meu navegador a resposta é vista assim colorida pois tenho uma extensão do Chrome chamada AwesomeJSON, que mostra os JSON nesse formato mais bonito.
Pronto, conseguimos criar nossa primeira API de forma simples e rápida usando a lib FastAPI. Enviamos uma requisição para nossa API, que nos retornou uma mensagem de Hello World.
Claro que isso é a API mais básica que pode ser feita, então nos próximos tópicos sobre APIs iremos detalhar mais esse assunto e criar APIs de verdade que acessarão dados em banco de dados e nos retornarão valores mais reais.