-
Notifications
You must be signed in to change notification settings - Fork 0
API Fundamentos
Como funcionam as APIs?
A arquitetura da API geralmente é explicada em termos de cliente e servidor. O aplicativo que envia a solicitação é chamado de cliente e o aplicativo que envia a resposta é chamado de servidor. Portanto, no exemplo do clima, o banco de dados meteorológico da agência é o servidor e o aplicativo móvel é o cliente.
Existem quatro maneiras diferentes pelas quais as APIs podem funcionar, dependendo de quando e por que foram criadas.
API SOAP
Essas APIs usam o Simple Object Access Protocol. Cliente e servidor trocam mensagens usando XML. Esta é uma API menos flexível que era mais popular no passado.
APIs de RPC
Essas APIs são chamadas de chamadas de procedimento remoto. O cliente conclui uma função (ou procedimento) no servidor e o servidor envia a saída de volta ao cliente.
APIs de Websocket
A API Websocket é outro desenvolvimento moderno de API da Web que usa objetos JSON para passar dados. Uma API WebSocket oferece suporte à comunicação bidirecional entre aplicativos cliente e o servidor. O servidor pode enviar mensagens de retorno de chamada para clientes conectados, tornando-o mais eficiente que a API REST.
API REST
Essas são as APIs mais populares e flexíveis encontradas na web atualmente. O cliente envia solicitações ao servidor como dados. O servidor usa essa entrada do cliente para iniciar as funções internas e retorna os dados de saída para o cliente. Vejamos as APIs REST com mais detalhes abaixo.
O que são APIs REST?
REST significa Representational State Transfer. REST define um conjunto de funções como GET, PUT, DELETE, etc. que os clientes podem usar para acessar os dados do servidor. Clientes e servidores trocam dados usando HTTP.
A principal característica da API REST é a ausência de estado. A ausência de estado significa que os servidores não salvam os dados do cliente entre as solicitações. As solicitações do cliente para o servidor são semelhantes às URLs que você digita no navegador para visitar um site. As respostas do servidor são dados simples, sem a renderização gráfica típica de uma página da web.
O que é API web?
Uma API da Web ou API de serviço da Web é uma interface de processamento de aplicativos entre um servidor da Web e um navegador da Web. Todos os serviços da web são APIs, mas nem todas as APIs são serviços da web. API REST é um tipo especial de API da Web que usa o estilo de arquitetura padrão explicado acima.
Os diferentes termos em torno de APIs, como API Java ou APIs de serviço, existem porque, historicamente, as APIs foram criadas antes da rede mundial de computadores. As APIs da Web modernas são APIs REST e os termos podem ser usados de forma intercambiável.
O que são integrações de API?
As integrações de API são componentes de software que atualizam dados automaticamente entre clientes e servidores. Alguns exemplos de integrações de API são quando os dados são sincronizados automaticamente na nuvem a partir da galeria de imagens do telefone ou a hora e a data são sincronizadas automaticamente no laptop quando você viaja para outro fuso horário. As empresas também podem usá-los para automatizar com eficiência muitas funções do sistema.
Quais são os benefícios das APIs REST?
As APIs REST oferecem quatro benefícios principais:
1. Integração
As APIs são usadas para integrar novos aplicativos com sistemas de software existentes. Isso aumenta a velocidade de desenvolvimento porque cada funcionalidade não precisa ser escrita do zero. Você pode usar APIs para aproveitar o código existente.
2. Inovação
Indústrias inteiras podem mudar com a chegada de um novo aplicativo. As empresas precisam responder rapidamente e apoiar a implantação rápida de serviços inovadores. Eles podem fazer isso fazendo alterações no nível da API sem precisar reescrever todo o código.
3. Expansão
As APIs apresentam uma oportunidade única para as empresas atenderem às necessidades de seus clientes em diferentes plataformas. Por exemplo, a API de mapas permite a integração de informações de mapas por meio de sites, Android, iOS, etc. Qualquer empresa pode fornecer acesso semelhante a seus bancos de dados internos usando APIs gratuitas ou pagas.
4. Facilidade de manutenção
A API atua como um gateway entre dois sistemas. Cada sistema é obrigado a fazer alterações internas para que a API não seja impactada. Dessa forma, quaisquer alterações futuras de código por uma das partes não afetarão a outra parte.
Quais são os diferentes tipos de API?
As APIs são classificadas de acordo com sua arquitetura e escopo de uso. Já exploramos os principais tipos de arquiteturas de API, então vamos dar uma olhada no escopo de uso.
APIs privadas
Eles são internos a uma empresa e usados apenas para conectar sistemas e dados dentro da empresa.
APIs públicas
Estes são abertos ao público e podem ser usados por qualquer pessoa. Pode ou não haver alguma autorização e custo associado a esses tipos de APIs.
APIs de parceiros
Eles são acessíveis apenas por desenvolvedores externos autorizados para ajudar nas parcerias entre empresas.
APIs compostas
Eles combinam duas ou mais APIs diferentes para atender a requisitos ou comportamentos complexos do sistema.
O que é um endpoint de API e por que ele é importante?
Os endpoints da API são os pontos de contato finais no sistema de comunicação da API. Isso inclui URLs de servidor, serviços e outros locais digitais específicos de onde as informações são enviadas e recebidas entre os sistemas. Os endpoints da API são essenciais para as empresas por dois motivos principais:
1. Segurança
Os endpoints da API tornam o sistema vulnerável a ataques. O monitoramento da API é crucial para evitar o uso indevido.
2. Desempenho
Os endpoints da API, especialmente os de alto tráfego, podem causar gargalos e afetar o desempenho do sistema.
Como proteger uma API REST?
Todas as APIs devem ser protegidas por meio de autenticação e monitoramento adequados. As duas principais formas de proteger as APIs REST incluem:
- Tokens de autenticação
Eles são usados para autorizar os usuários a fazer a chamada de API. Os tokens de autenticação verificam se os usuários são quem afirmam ser e se têm direitos de acesso para essa chamada de API específica. Por exemplo, quando você faz login em seu servidor de e-mail, seu cliente de e-mail usa tokens de autenticação para acesso seguro.
- Chaves de API
As chaves de API verificam o programa ou aplicativo que faz a chamada de API. Eles identificam o aplicativo e garantem que ele tenha os direitos de acesso necessários para fazer a chamada de API específica. As chaves de API não são tão seguras quanto os tokens, mas permitem o monitoramento de API para coletar dados sobre o uso. Você deve ter notado uma longa sequência de caracteres e números no URL do navegador ao visitar diferentes sites. Essa string é uma chave de API que o site usa para fazer chamadas de API internas.
Como criar uma API?
A devida diligência e esforço são necessários para criar uma API com a qual outros desenvolvedores desejarão trabalhar e confiar. Estas são as cinco etapas necessárias para um design de API de alta qualidade:
- Planeje a API
As especificações de API, como OpenAPI, fornecem o modelo para o design de sua API. É melhor pensar em diferentes casos de uso com antecedência e garantir que a API esteja de acordo com os padrões atuais de desenvolvimento de API.
- Crie a API
Os designers de API prototipam APIs usando código clichê. Depois que o protótipo é testado, os desenvolvedores podem personalizá-lo de acordo com as especificações internas.
- Teste a API
O teste de API é o mesmo que o teste de software e deve ser feito para evitar bugs e defeitos. As ferramentas de teste de API podem ser usadas para testar a força da API contra ataques cibernéticos.
- Documente a API
Embora as APIs sejam autoexplicativas, a documentação da API atua como um guia para melhorar a usabilidade. APIs bem documentadas que oferecem uma variedade de funções e casos de uso tendem a ser mais populares em uma arquitetura orientada a serviços.
- Comercialize a API
Assim como a Amazon é um mercado online para varejo, mercados de API existem para desenvolvedores comprarem e venderem outras APIs. Listar sua API pode permitir que você gere receita com ela.
O que é teste de API?
As estratégias de teste de API são semelhantes a outras metodologias de teste de software. O foco principal está na validação das respostas do servidor.
O teste de API inclui:
• Fazer várias solicitações para endpoints de API para teste de desempenho.
• Escrever testes de unidade para verificar a lógica de negócios e a correção funcional.
• Testes de segurança simulando ataques ao sistema.
Como escrever a documentação da API?
Escrever uma documentação abrangente da API faz parte do processo de gerenciamento da API. A documentação da API pode ser gerada automaticamente usando ferramentas ou escrita manualmente. Algumas práticas recomendadas incluem:
• Escrever explicações em inglês simples e fácil de ler. Os documentos gerados por ferramentas podem se tornar prolixos e exigir edição.
• Usando amostras de código para explicar a funcionalidade.
• Manter a documentação correta e atualizada.
• Visando o estilo de escrita para iniciantes
• Cobrindo todos os problemas que a API pode resolver para os usuários.
Usando uma API:
As etapas para implementar uma nova API incluem:
- Obtenção de uma chave de API. Isso é feito criando uma conta verificada com o provedor de API.
- Configure um cliente de API HTTP. Essa ferramenta permite estruturar requisições de API facilmente usando as chaves de API recebidas.
- Se você não tiver um cliente de API, tente estruturar a solicitação por conta própria em seu navegador, consultando a documentação da API.
- Quando estiver familiarizado com a nova sintaxe da API, você poderá começar a usá-la em seu código.
Onde posso encontrar novas APIs?
Novas APIs da web podem ser encontradas em mercados de API e diretórios de API. Mercados de API são plataformas abertas onde qualquer pessoa pode listar uma API para venda. Os diretórios da API são repositórios controlados regulados pelo proprietário do diretório. Designers de API especializados podem avaliar e testar uma nova API antes de adicioná-la ao seu diretório.
Alguns sites de API populares incluem:
• Rapid API – O maior mercado global de APIs com mais de 10.000 APIs públicas e 1 milhão de desenvolvedores ativos no local. O RapidAPI permite que os usuários testem APIs diretamente na plataforma antes de se comprometerem com a compra.
• APIs públicas – A plataforma agrupa as APIs remotas em 40 categorias de nicho, facilitando a navegação e a localização da certa para atender às suas necessidades.
• APIForThat e APIList – Ambos os sites têm listas de mais de 500 APIs da Web, juntamente com informações detalhadas sobre como usá-las. O que é um gateway de API?
Um API Gateway é uma ferramenta de gerenciamento de API para clientes corporativos que usam uma ampla variedade de serviços de back-end. Os gateways de API geralmente lidam com tarefas comuns, como autenticação de usuário, estatísticas e gerenciamento de taxa, que são aplicáveis a todas as chamadas de API.
Exemplo de API Gateway:
O Amazon API Gateway é um serviço totalmente gerenciado que facilita para os desenvolvedores criar, publicar, manter, monitorar e proteger APIs em qualquer escala. Ele lida com todas as tarefas envolvidas na aceitação e processamento de milhares de chamadas de API simultâneas, incluindo gerenciamento de tráfego, suporte a CORS, autorização e controle de acesso, limitação, monitoramento e gerenciamento de versão de API.
O que é GraphQL?
GraphQL é uma linguagem de consulta desenvolvida especificamente para APIs. Ele prioriza fornecer aos clientes exatamente os dados que eles solicitam e nada mais. Ele foi projetado para tornar as APIs rápidas, flexíveis e amigáveis ao desenvolvedor. Como alternativa ao REST, o GraphQL oferece aos desenvolvedores de front-end a capacidade de consultar vários bancos de dados, microsserviços e APIs com um único endpoint GraphQL. As organizações optam por criar APIs com GraphQL porque as ajuda a desenvolver aplicativos mais rapidamente