-
sigla para -> Application Programming Interface
-
APIs são sobre integração de serviços e informações entre aplicações através de uma interface
-
a documentação da API é extremamente importante para que ela seja utilizada de maneira adequada pelas pessoas desenvolvedoras (endpoints e exemplos de requisição e resposta)
- emprega uma dinâmica entre cliente/servidor sem estado (stateless)
- para que uma api seja considerada restful, é necessário que alguns pontos sejam atendidos, são eles:
- Client-Server Architecture (assim como uma requisição HTTP, onde o cliente acessa um dado específico e a api retorna um valor)
- a resposta de uma API RESTful pode conter mensagens do tipo texto, XML, HTML e JSON (sendo este último o mais comum, pois é leve e pode ser lido por qualquer linguagem de programação)
- Statelessness (os dados do cliente não ficam salvos no server, é necessário, sempre que realizar uma requisição, levar os dados de estado)
- Layered System (interação entre cliente x servidor é mediada por hierarquia de camadas)
- Cacheability (algumas informações podem ser armazenadas em cache para simplificar a interação cliente x servidor)
- Uniform Design (funciona de maneira similar em qualquer linguagem de programação e padroniza o formato das informações)
- Code on Demand (só envia o que está sendo pedido na requisição)
- Client-Server Architecture (assim como uma requisição HTTP, onde o cliente acessa um dado específico e a api retorna um valor)
- Diferente da REST, a SOAP é um protocolo que possibilita a integração entre aplicações desenvolvidas em diferentes linguagens e plataformas
- Um pouco mais complexo por envolver regras de integracao, como o padrão ACID (atomicidade, consistência, isolamento e durabilidade)
- A resposta de uma API SOAP é sempre em XML
- Não é possível utilizar cache, então após a requisição finalizada, os dados precisam ser solicitados novamente
- O que é? Cross-Origin Resource Sharing (Compartilhamento de Recursos com Origens Diferentes), é um tipo de mecanismo que faz com que um aplicativo tenha acesso às informações contidas em um servidor. É definido como um cabeçalho da requisição HTTP, e sem essa informação a aplicação não consegue acessar dados que não sejam da mesma origem (porta, protocolo, domínio). Como forma padrão, navegadores são 'Same-Origin Policy', e sem a informação correta do CORS, retornará um erro ao tentar acessar informações de outra URL, embora por questões de segurança esse erro não fique claro que está relacionado a isso.