API Restful: Guia introdutório e como desenvolver

Tempo de leitura: 6 minutos

Olá desenvolvedor, você sabe o que é uma API?

Significa Application Programming Interface, traduzindo fica: “Interface de Programação de Aplicações”.

Para simplificar nossa vida podemos dizer que as APIs se tratam de um conjunto de rotinas e padrões estabelecidos e documentados por uma aplicação A, para que outras aplicações consigam utilizar as funcionalidades desta aplicação A, sem a necessidade de conhecer detalhes sobre a implementação do software.

Ou seja, as APIs permitem uma interoperabilidade entre aplicações, que é a comunicação entre aplicações e usuários.

E dentro do universo das APIs existe um padrão conhecido como RESTful.

E é justamente sobre esse tipo de API que iremos falar no post de hoje. Seus conceitos, princípios e formas de criação.

O que iremos aprender hoje?

// Para que serve uma API?

// O que é a API Restful

// Representação

Para que serve uma API?

Para que serve uma API

As APIs fazem parte da maioria das aplicações e sistemas inteligentes que nós usamos, sejam eles voltados em B2B ou em recursos do dia a dia, como o uso de um navegador.

A maioria das APIs são desenvolvidas para integrar o software de uma empresa com os produtos que estão associados. Um exemplo bem interessante são os sistemas para gerenciar hotéis.

Suas APIs possibilitam que dados de outros sistemas (como o responsável pelas vendas online) integrem as informações com o sistema de gestão, expandindo a precisão da base de dados e o volume de informações.

É usada uma rede para o tráfego de informações, de uma forma padronizada. Isso pode ser feito através da internet ou de uma rede local.

O Google Maps é o exemplo perfeito. Várias aplicações com foco em geoprocessamento possuem APIs para captar dados do Maps. Elas fazem um série de adaptações para conseguir as informações necessárias e exibir pontos de interesse dentro de um serviço, e tudo acontece dentro da aplicação como se estivesse acontecendo tudo nela.

O que é a API Restful?

O que é a API Restful

API RESTful é uma interface que fornece dados em um formato padronizado baseado em requisições HTTP.

Por exemplo: A API do Facebook, permite que você se autentique em aplicações externas a ele (como o login em alguns sistemas). Ela entrega seus dados para essas aplicações, para assim simplificar o seu cadastro e acesso.

API RESTful fica imóvel até que uma requisição seja solicitada. É como um notebook desligado que só é ativado após apertar o botão de ligar. No caso do exemplo de login usando os dados do Facebook, a API do Facebook não fica processando os dados de todos os seus usuários de forma continua, ela aguarda até que um usuário peça permissão para se autenticar.

As APIs utilizam verbos para definir qual é a função da requisição que está sendo enviada. Que são:

GET: A requisição é um pedido de dados para a API. A API vai buscar os dados solicitados em algum banco e, provavelmente, vai retornar em formato JSON (formato de notação de objeto JavaScript);
POST: Tipo de requisição utilizada para criar um recurso em uma determinada API. São chamados de recursos o objeto que está sendo tratado naquela API.
PUT: Requisição usada para atualizar o recurso indicado com alguma informação.
PATCH: Requisição feita somente para atualizar parte de um recurso.
DELETE: Requisição feita para excluir um dado.

Essas operações são acessadas por meio de Endpoints, que são as URLs nas quais são feitas as requisições. Cada requisição aos endpoints é composta por:

  1. O método HTTP;
  2. Um cabeçalho requisição, que pode conter informações como dados de autenticação da API, dados de origem da requisição e formato do retorno.

Por mais que o corpo da requisição e do retorno utilizem outros formatos, de modo geral é utilizado o formato JSON como padrão, tanto para o envio quanto para o retorno das requisições. Esse formato é escolhido, principalmente, por sua compatibilidade simples entre as linguagens e frameworks existentes, tanto de back-end quanto de front-end.

Representações

representação

Agora que já sabemos que uma API permite a interoperabilidade entre usuários e aplicações, isso reforça ainda mais a importância de pensarmos em algo padronizado e, de preferência, de fácil representação e compreensão por humanos e máquinas.

Pode parecer um pouco estranho, mas vamos ver esses três exemplos:

Representação em XML

<endereco>
  <rua>
    RuaBrigadeiro
  </rua>
  <cidade>
    BeloHorizonte
  </cidade>
</endereco>

Representação JSON

{ endereco:
  {
  rua: Rua Brigadeiro,
  cidade: Belo Horizonte
  }

}

Representação YAML

endereco:
rua: rua Brigadeiro
cidade: Belo Horizonte

Qual deles seria o melhor para informar o endereço em uma carta? Acredito que o último, por ser de fácil entendimento para humanos, não é verdade? Contudo, as 3 representações são válidas, pois nosso entendimento final é o mesmo.

Por outro lado, você deve concordar comigo que a primeira representação (formato XML) é mais verbosa, exigindo um esforço extra por parte de quem está escrevendo.

No segundo exemplo (formato JSON) já é algo bem mais leve de escrever.

No último (formato YAML), é praticamente como escrevemos em nosso dia a dia.

Sendo assim, esse é o primeiro passo que precisamos dar para permitir a comunicação interoperável. E o mais legal é que essas 3 representações são válidas atualmente, ou seja, homens e máquinas podem ler, escrever e entender esses formatos.

Conclusão do Guia introdutório sobre API Restful

api restful

Gostou do nosso artigo sobre as API Restful? Aqui é só uma pequena introdução, em breve vamos nos aprofundar mais mais no assunto aqui no blog, mas caso você deseje começar a se aprofundar hoje mesmo tenho um recado pra você.

O próximo passo que você deve tomar para se aprofundar é construir comigo projetos reais, pois além de muitos anos no mercado de desenvolvimento Web, sou professor com vasta experiência para te conduzir nesta jornada e tirar todas as suas dúvidas.

E não sou eu que digo, são os mais de 14.000 alunos capacitados por mim na Danki Code, por isso sei bem do que eu estou falando.

A melhor forma de você começar a desenvolver projetos reais é adquirindo o Pacote Full-Stack. Com ele você vai desenvolver os projetos mais incríveis e cobiçados do mercado.

>> Conheça o treinamento completo “Pacote Full-Stack” e Domine as Tecnologias mais Atuais e Poderosas do Mercado! <<