O Que é API?
Os Softwares e aplicações que antes eram desenvolvidos para funções especificas, hoje incorporam API que permitem a utilização de muitas novas formas, que reduzem o tempo de desenvolvimento e diminuindo os riscos de erro, ou seja, APIs são um conjunto de instruções e padrões de programação que servem para fornecer dados e informações relevantes de uma determinada aplicação.
As APIs melhoraram a qualidade dos softwares na última década, e com o crescimento de número de aplicações em nuvem também encoraja a utilização de APIs, quanto mais os programas conversarem entre si, mais troca de informações haverá e, consequentemente, melhora a usabilidade para usuários finais, gestores e tomada de decisão.
APIs possuem basicamente três formas:
- Local
- Baseada em web
- Baseada em programa
Logo abaixo falaremos sobre API RESTful que é uma API baseada em protocolo HTTP, logo, é uma API baseada em web. Hoje em dia, devido à utilização de aplicações em nuvem, esse formato vem tornando-se o padrão de uso.
API RESTful
APi RESTful foi criado por Roy T. Fielding em sua tese de PH.D. RESTful é um estilo de arquitetura e comunicação, que possui restrições que devem ser seguidas no processo de criação de um web service.
O Rest (representational state transfer) é usado pelos browsers de internet que pode ser imaginado como a linguagem da internet. Com o aumento da utilização da nuvem, o REST é uma escolha lógica usada para a construção de APIs que permitem ao usuário se conectar e interagir com aplicações na nuvem. APIs RESTful são usadas por sites como Google, Amazon, LinkedIn e Twitter.
Restrições do RESTful
Os principais critérios para uma API ser RESTful são:
- Uniform Interface
- Stateless
- Cacheable
- Client-Server
- Layered system
As APIs RESTfull aumentam a performance para situações de concorrência, quando muitos usuários estão pedindo a mesma coisa naquele momento ao mesmo tempo, elas usam verbos para definir para qual é a finalidade da requisição que está sendo enviada.
Os verbos 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 utilizada para atualizar o recurso indicado com alguma informação.
- PATCH: Requisição feita para atualização de somente uma parte de um recurso.
- DELETE: Requisição para excluir um dado.
Essas operações são acessadas através de Endpoints, que são as URLs nas quais são feitas as requisições. Cada requisição aos endpoints que são compostas por:
- O método HTTP;
- Um cabeçalho de requisição, que pode conter informações como dados de autenticação da API, dados de origem da requisição e formato do retorno.
O corpo da requisição e do retorno possam utilizar outros formatos, de modo geral é usado o formato JSON como padrão, tanto para o envio quanto para o retorno das requisições, este formato é escolhido, principalmente, por sua compatibilidade simples entre as linguagens e frameworks existentes, tanto de backend quanto de frontend.