Skip to content

Instantly share code, notes, and snippets.

@fmarga
Last active September 8, 2022 14:39
Show Gist options
  • Save fmarga/93c7854b7927029ff99b8630e1f3dae3 to your computer and use it in GitHub Desktop.
Save fmarga/93c7854b7927029ff99b8630e1f3dae3 to your computer and use it in GitHub Desktop.
Estudos sobre API
  • 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)

Tipos de API

REST -> Representational State Transfer

  • 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)

SOAP -> Simple Object Access Protocol

  • 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

Segurança da API

CORS

  • 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment