API para quem nunca ouviu falar

Beatriz Sato
Apple Developer Academy | SENAC
4 min readNov 9, 2020

Este artigo foi escrito por 2 alunos da Apple Developer Academy | Senac: Beatriz e Douglas. Os autores esperam que ele possa te ajudar a desvendar o mundo dos serviços web!

O que é uma API?

Vem de Application Programming Interface (Interface de Programação de Aplicações) e é um conjunto de rotinas estabelecido por uma aplicação para que as demais aplicações possam utilizar suas funcionalidades sem a necessidade de conhecer os detalhes de sua implementação, ou seja, a API disponibiliza um conjunto de funções que quando usada(s) faz(em) uma requisição a um servidor (computador especial), esse servidor recebe a requisição e retorna alguma coisa, geralmente dados.

Um exemplo prático disso é a API que informa o endereço de acordo com o CEP. Imagine que você queira colocar no seu programa/jogo/aplicação o endereço de algum lugar utilizando o CEP, mas não sabe qual CEP será passado para retornar o endereço exato e nem como localizar o endereço de acordo com o CEP pela programação. É aí que entra a API: por sua sorte, alguém já deu um jeito de fazer isso e disponibilizou uma interface para acessá-los.

Na figura 1 pode-se observar um exemplo de requisição da API Viacep com retorno em JSON.

Figura 1: Exemplo de requisição e retorno da API ViaCep no Postman

E onde entra o REST?

Do inglês “Representational State Transfer”, é um estilo arquitetural para sistemas distribuídos de hipermídia. Consiste basicamente em um conjunto de regras para construir uma API. Temos vários benefícios ao usar a arquitetura REST, porém ela não é o único jeito de se criar uma API, e pode ser tratada como um guia com algumas recomendações.

Em sua construção, uma API segue alguns padrões para facilitar a vida de quem a criou e de quem irá fazer uso dela. Um desses padrões é ter a arquitetura cliente servidor, e isso quer dizer que existe o cliente (aplicação) que faz a requisição, o recurso que foi requisitado e será retornado, e o servidor que interpreta e retorna uma resposta à requisição. E essas requisições são feitas através do protocolo HTTP, que por sua vez é basicamente um jeito de enviar uma requisição e receber uma resposta.

Métodos HTTP

Para que uma requisição seja válida, ela deve ter um formato específico que utiliza alguns métodos definidos pelo protocolo HTTP para fazer as operações nos recursos da arquitetura cliente servidor.

Os métodos especificados pelo protocolo são: GET, POST, PUT, DELETE.

  • GET: faz uma requisição de leitura de dado(s) no servidor.
  • POST: faz uma requisição de criação de dado(s) no servidor.
  • PUT: faz uma requisição de alteração/atualização de dado(s) no servidor.
  • DELETE: faz uma requisição de exclusão de dado(s) no servidor.

E quando se consome dados de uma API, após uma requisição, o servidor devolve uma resposta ao cliente (quem fez a requisição).

Mas o que é essa resposta?

A resposta é um conjunto de informações que o servidor devolve após tratar uma requisição, e as informações mais relevantes, pelo menos nesse momento, são o código de status e o dado.

O código de status permite saber se a requisição teve um retorno válido ou não, e se não, podemos através desse código saber qual foi o erro na requisição.

Exemplos de códigos de status:

  • 200 — OK: quando a requisição foi feita com sucesso.
  • 404 — Not Found: exibido quando usado um recurso desconhecido, ou seja, que não existe na API.
  • 505 — Internal Server Error: quando ocorre algum problema no servidor.

Vejas mais códigos em: https://httpstatuses.com/

Nessa figura abaixo, é possível observar um exemplo de código de status destacado em vermelho.

Figura 2: Exemplo de código de status HTTP (200 OK)

Já o dado pode vir em diversos formatos. Quando uma API é bem construída e bem documentada, ela nos diz o formato que esse dado terá (ex: JSON, XML). Como JSON possui uma sintaxe mais simples e de fácil compreensão, a maioria das APIs usam essa formatação para retornar dados.

Figura 3: Exemplo de diferença entre formatos JSON e XML

A figura 3 acima mostra a diferença de sintaxe dos dois formatos mais utilizados como retorno de requisição de APIs. À esquerda temos o JSON, e à direita, o XML.

Conclusão

Agora o esperado é que você já tenha uma ideia do que é a sopa de letrinhas em torno de uma API. Todos esses conceitos apresentados acima são apenas uma pequena parte do mundo dos serviços web, explicado de uma forma bem simples e sem muitos termos técnicos. Ainda há muito mais para explorar, mas esperamos que com isso você tenha a base para se aprofundar nos estudos.

O próximo passo indicado é ver na prática como fazer para consumir os dados de uma API, depois quem sabe criar seu próprio serviço. E caso queira saber como é feito o consumo de uma API em Swift, basta clicar no link abaixo para conferir o tutorial que acompanha esse artigo.

https://youtu.be/RZsVWPm6ZU8

--

--