API é um conjunto de protocolos e ferramentas para construir aplicativos que permitem a comunicação entre diferentes sistemas.
APIs (Application Programming Interface) permitem que os desenvolvedores criem aplicativos que se conectam a outros aplicativos, bancos de dados e serviços na web.
É um serviço da web conectado a um banco de dados e usa JavaScript Object Notation (JSON) para enviar e receber dados.
Muitos dos recursos que utilizamos diariamente, são possíveis apenas devido ao uso de APIs.
API REST
Uma API REST é uma interface de programa de aplicativo que usa solicitações HTTP para consultar, atualizar, incluir e excluir dados através dos verbos GET, PUT, POST e DELETE.
Uma API REST pode ser usada para criar microsserviços, ou seja, serviços independentes que se comunicam entre si para realizar tarefas específicas.
API RESTful
API RESTful é um padrão de arquitetura de software para sistemas de computador que permite que os usuários acessem recursos de forma remota usando protocolos HTTP.
É um conjunto de diretrizes e regras para construir APIs que são flexíveis, escaláveis e compatíveis com a web.
Diretrizes de padrões internacionais para APIs RESTful
- cliente-servidor: consiste na portabilidade entre várias plataformas, permitindo uma evolução independente do sistema
- interface uniforme: descreve a integração uniforme entre cliente e servidor
- stateless: sem estado, ou seja, não guarda em memórias as informações das requisições
- cache: reduzir o tempo médio de resposta, melhorando a eficiência, desempenho e escalabilidade
- camadas: deve ser desenvolvida em camadas, flexível e desacoplada
Em outras palavras, de forma mais simples
- Utilizar URLs para identificar recursos e operações
- Utilizar métodos HTTP (GET, POST, PUT, PATCH, DELETE) para realizar operações
- Utilizar códigos de status HTTP para indicar o sucesso ou falha de uma operação
- Utilizar formatos de dados padrão, como JSON, para troca de dados
- Utilizar autenticação para garantir a segurança e a privacidade dos dados
- Utilizar cabeçalhos HTTP para fornecer informações adicionais sobre a solicitação
Exemplo de uso de API
Um exemplo de uso de API é a integração de aplicativos.
Por exemplo, um aplicativo de mensagens pode usar uma API para se conectar a outros aplicativos, como o Facebook ou o Twitter, para que os usuários possam compartilhar mensagens em seus perfis.
Outro exemplo é o uso de APIs para acessar dados de outros aplicativos, como o Google Maps, para mostrar informações geográficas em seu próprio aplicativo.