Introdução Descomplicada ao Consumo de APIs
- #Swift
- #ChatGPT
- #API Rest
O que são APIs
Imagine que você está num restaurante e quer pedir um prato. Você não vai até a cozinha, certo? O garçom é quem leva o pedido e traz a comida. Assim é com as APIs!
APIs são como garçons digitais. Elas ajudam apps a pedir coisas da internet, como fotos e informações. Você faz um pedido (requisição) à API, ela pega o que você quer da "cozinha" da internet, e traz pra você. Sem APIs, apps seriam bem chatinhos. Vamos entender como esses garçons digitais funcionam e tornam nossos apps incríveis!
Requisições
Para fazer pedidos aos servidores usamos verbos como GET (pegar), POST (enviar), PUT (atualizar) e DELETE (apagar). É como pedir comida, você diz o que quer e o servidor traz pra você. Quer uma imagem de gatinho? Manda um GET. Quer postar uma foto? É um POST!
No exemplo em python abaixo, fazemos um GET para pegar os dados do pikachu de uma API de Pokémon e mostramos o nome dele.
Códigos de status
Notou que no exemplo acima usamos um IF para verificar o status_code? Quando interagimos com APIs, os códigos de resposta são como mensagens secretas que nos contam o que aconteceu com nossa requisição. Eles são números que revelam se nossa solicitação foi bem-sucedida (código 200), se algo foi movido (301), ou até se não foi encontrado (404). Esses códigos nos ajudam a entender se nossa busca por dados de Pokémon ou qualquer outra coisa correu como planejado, tornando nossa jornada no mundo das APIs mais suave e informativa!
Quer verificar alguns dos códigos que existem? Dê uma olhada nesses sites:
Parsing de Dados
Quando recebemos os dados, eles não vêm direto com o que queremos. Geralmente, são fornecidos em um formato padronizado, como JSON. É como receber uma caixa cheia de Lego (JSON). Pra montar algo, você precisa organizar as peças, certo? Parsear é isso, mas com dados.
Em linguagens de programação como Swift, usamos bibliotecas e métodos específicos para realizar essa análise. No caso do JSON, é comum usar funções que convertem os dados brutos em objetos que podemos acessar e manipular. Isso é crucial, pois permite que nossos apps extraiam os detalhes relevantes, como o nome de um Pokémon e seu tipo, a partir dos dados fornecidos pela API.
Usando a linguagem Swift, vamos exemplificar codificando dados sobre uma pessoa para JSON:
Vamos imaginar que foi esse JSON que recebemos da API. Agora precisamos transformá-lo em algo útil, usá-lo realmente como sendo uma pessoa com seus dados.
Ainda com Swift, criamos um struct para receber os dados, ele precisa ser do tipo Codable e ter as varáveis que queremos receber. Em seguida, usamos JSONDecoder para conseguirmos "decodificar" os dados recebidos em dados do struct que criamos e, assim, transferimos os dados para uma variável, como apresentado no exemplo a seguir:
Ok, recebemos os dados... mas e agora?
Como basicamente tudo na programação, agora a imaginação é o limite! Podemos usar os dados para apresentar diversos conteúdos para os usuários de incontáveis maneiras diferentes.
Para exemplificar, utilizei a API do seriado Rick e Morty para criar um aplicativo pra iOS em que recebo a foto dos personagens, seus nomes e status se estão vivos ou não, é um aplicativo simples que só mostra os personagens, mas através da API podemos melhorar mostrando até mesmo em quais episódios cada personagem aparece.
Conclusão
Com as APIs nossos aplicativos e sites têm acesso a diversos dados externos que podemos usar, podemos criar uma plataforma para consulta de previsão do tempo, uma pokedex para consultar pokémons, criar um catálogo de super-heróis e muito mais!
Aqui estão algumas APIs públicas famosas que podem ser usadas para estudos:
- PokeAPI: Fornece informações detalhadas sobre Pokémon, seus tipos, habilidades e muito mais.
- OpenWeatherMap: Oferece dados climáticos e previsões para várias cidades do mundo.
- SWAPI: Uma API para acessar dados relacionados ao universo Star Wars, como personagens, planetas e naves.
- JSONPlaceholder: Uma API de teste que simula recursos como posts, usuários e comentários.
- Marvel API: Fornece informações sobre personagens, quadrinhos, séries e muito mais do universo Marvel.
- Rick and Morty API: Oferece dados sobre os personagens, locais e episódios da série de desenhos animados "Rick and Morty".
- YouTube Data API: O YouTube oferece uma API que permite que os desenvolvedores acessem e integrem diversos aspectos da plataforma do YouTube em seus aplicativos e sites.
Ferramentas auxiliares:
ChatGPT: Revisão dos textos e ideias de títulos
Carbon: Apresentação agradável de códigos
Lexica: Criação de imagem para a capa
Removebg: Remover fundo da imagem e blocos de código