Api
Para te explicar o que é uma API, a maneira mais fácil é mostrando um exemplo de como usamos, vamos para um exemplo?
Como consumir uma API, com python?
O programa deve randomicamente pegar o nome de uma pessoa qualquer e mostrar uma mensagem de boas-vindas para essa pessoa:
Resposta
Vamos dizer que estamos usando o python3:
#!/usr/bin/env python3
Após vamos importar a biblioteca requests, pegando o método get, que faz uma requisição HTTP para um servidor, que retorna isso para nosso programa.
E também será importado o método choice, para randomizar uma lista, vindo da biblioteca random.
from requests import get
from random import choice
Temos que fazer uma requisição para o servidor através do método get, e mandando no parâmetro url a uri da api que vamos consumir, no caso do IBGE (que retorna uma lista de nomes), e salvar em uma variável:
resp = get(url="https://servicodados.ibge.gov.br/api/v2/censos/nomes/ranking")
Para entender o próximo código vamos entender o que a requisição dessa api retorna:
[{
'localidade': 'BR',
'sexo': None,
'res': [
{'nome': 'MARIA', 'frequencia': 11734129, 'ranking': 1},
{'nome': 'JOSE', 'frequencia': 5754529, 'ranking': 2},
{'nome': 'ANA', 'frequencia': 3089858, 'ranking': 3},
{'nome': 'JOAO', 'frequencia': 2984119, 'ranking': 4},
{'nome': 'ANTONIO', 'frequencia': 2576348, 'ranking': 5},
{'nome': 'FRANCISCO', 'frequencia': 1772197, 'ranking': 6},
{'nome': 'CARLOS', 'frequencia': 1489191, 'ranking': 7},
{'nome': 'PAULO', 'frequencia': 1423262, 'ranking': 8},
{'nome': 'PEDRO', 'frequencia': 1219605, 'ranking': 9},
{'nome': 'LUCAS', 'frequencia': 1127310, 'ranking': 10},
{'nome': 'LUIZ', 'frequencia': 1107792, 'ranking': 11},
{'nome': 'MARCOS', 'frequencia': 1106165, 'ranking': 12},
{'nome': 'LUIS', 'frequencia': 935905, 'ranking': 13},
{'nome': 'GABRIEL', 'frequencia': 932449, 'ranking': 14},
{'nome': 'RAFAEL', 'frequencia': 821638, 'ranking': 15},
{'nome': 'FRANCISCA', 'frequencia': 725642, 'ranking': 16},
{'nome': 'DANIEL', 'frequencia': 711338, 'ranking': 17},
{'nome': 'MARCELO', 'frequencia': 693215, 'ranking': 18},
{'nome': 'BRUNO', 'frequencia': 668217, 'ranking': 19},
{'nome': 'EDUARDO', 'frequencia': 632664, 'ranking': 20}
]
}]
Como visto, o método json() retorna um json (que é salvo aqui dentro de uma lista do python).
Dentro desse json, temos a chave localidade, sexo, e res.
Res tem uma lista de dicionários com as chaves de nome, frequência, e ranking.
Para pegarmos apenas a lista devemos pegar no índice 0 resp.json()[0]
da lista que o json retorna. Dentro disso devemos pegar o res, através do atributo res ['res']
, ficando resp.json()[0]['res']
.
Pegamos esse código anterior, e colocamos para randomizar, com o método choice e vamos salvar na variável nome.
nome = choice(resp.json()[0]['res'])
Após, vamos pegar a chave do nome (nome['nome']
), converter para letras minúsculas (com o método lower .lower()
) e colocar a primeira letra em maiúsculo (com o método .capitalize()
), ficando nome['nome'].lower().captalize()
.
Esse nome sorteado e arrumado anteriormente, será substituído no local em que se encontra (dentro das chaves -{ }
) e concatenado com o texto que desejamos ver.
print(f"Olá, {nome['nome'].lower().capitalize()} seja bem vindo!")
O resultado do programa sendo executado será, por exemplo:
[usuario@manjaro]$ python3 exemplo.py
Olá, Jose seja bem vindo!
[usuario@manjaro]$
O que é uma API?
Portanto uma API, ou Interface de Programação de Aplicações, nada mais é do que um backend que pode ser acessado através de uma URI, e que retorna o resultado para uma requisição HTTP.
Neste exemplo acima utilizamos a API, criada pelo IBGE, que quando fazemos uma requisição nos retorna a resposta no formato de um json.
Assim, reutilizamos os código de terceiros, não precisando reproduzir e podendo ser acessada por uma pagina web, por um aplicativo mobile e/ou por um aplicativo desktop.
Observações:
As apis, aceitam requisições que peçam dados através do método GET, podem enviar dados através do método POST, e deletando através do método DELETE, tendo outros médotos e que cada api usa de sua maneira.
As URI’s, como a do nosso exemplo, é um padrão parecido com as urls que digitamos no navegador, mas que servem para a comunicação com a API sendo um padrão a ser seguido.
Criador
Olá me chamo Gustavo, e criei este material, para mais informações, clique nos links abaixo:
-
Disponível em : Repositório de exercícios