/fiap-apis

Primary LanguageJavaScript

presentation
width height theme
1500
800
night.css

O que é uma API?

API significa Interface de Programação de Aplicativos (Application Programming Interface). Funciona como um intermediário, permitindo que diferentes softwares se comuniquem e compartilhem dados de maneira eficiente.

Rest

REST (Representational State Transfer):

  • REST é um estilo arquitetural para comunicação entre sistemas distribuídos.
  • Ele define um conjunto de princípios para projetar redes de aplicativos.
  • Baseia-se no conceito de recursos (resources) e em métodos HTTP (GET, POST, PUT, DELETE) para manipular esses recursos.
  • Não impõe uma estrutura específica, permitindo uma implementação flexível que se adapta às necessidades do sistema.
  • É uma abordagem amplamente adotada para o desenvolvimento de APIs, devido à sua simplicidade e escalabilidade.

RESTful:

  • O termo "RESTful" refere-se a uma API que segue os princípios REST.
  • Uma API RESTful utiliza URIs para identificar recursos e métodos HTTP de forma semântica e consistente.
  • Prioriza a simplicidade e a facilidade de uso, seguindo as práticas recomendadas do REST.
  • Uma API RESTful bem projetada é intuitiva para os desenvolvedores e permite uma integração mais eficiente entre sistemas.

GraphQL

  • GraphQL é uma linguagem de consulta para APIs, desenvolvida pelo Facebook.
  • Oferece uma alternativa ao REST para o desenvolvimento de APIs.
  • Permite que os clientes solicitem apenas os dados necessários, evitando o problema de overfetching (buscar mais dados do que o necessário) e underfetching (falta de dados).
  • Define um esquema (schema) que descreve a estrutura dos dados disponíveis na API.

gRPC

  • gRPC é um sistema de chamada de procedimento remoto (Remote Procedure Call) desenvolvido pelo Google.
  • Define serviços e mensagens em arquivos .proto (Protocol Buffers), que são compilados para várias linguagens de programação.
  • Usa HTTP/2 para comunicação eficiente e de baixa latência, oferecendo benefícios significativos de desempenho em comparação com o REST tradicional.
  • Além disso, o gRPC suporta streaming bidirecional de dados, o que o torna adequado para casos de uso que exigem comunicação em tempo real, como aplicativos de chat ou jogos online e também é muito utilizado em microsserviços.

Link do Repositório Meu LinkedIn