Início topics API REST O que é uma API REST?
Explore a solução de API REST da IBM Inscreva-se para receber atualizações sobre IA
Imagem da interface do usuário de gerenciamento de API
O que é uma API REST?

Uma API REST (também chamada de API RESTful ou web API RESTful) é uma interface de programação de aplicativos (API) que fornece uma maneira flexível de integrar aplicações e conectar componentes em arquiteturas de microsserviços, baseado no estilo arquitetônico REST (transferência de estado representacional).

As APIs REST se comunicam por meio de solicitações HTTP para executar funções padrão de banco de dados, como criar, ler, atualizar e excluir registros (também conhecidos como CRUD) em um recurso.
Primeiro, definido em 2000 pelo cientista da computação Dr. Roy Fielding em sua dissertação de doutorado, o REST oferece um nível relativamente alto de flexibilidade, escalabilidade e eficiência para desenvolvedores. Por essas razões, as APIs REST se consolidaram como um método comum para conectar componentes e aplicações em uma arquitetura de microsserviços.

Desmascarando os mitos da observabilidade

Este ebook tem como objetivo desmistificar mitos sobre a observabilidade e destacar seu papel no mundo digital.

Conteúdo relacionado

Leia um guia sobre automação inteligente

Aprenda como a IA otimiza agentes baseados em API
Princípios da arquitetura REST

No nível mais básico, uma API é um mecanismo que permite que uma aplicação ou serviço acesse um recurso dentro de outra aplicação ou serviço. A aplicação ou o serviço que acessa os recursos é o cliente e a aplicação ou serviço que contém o recurso é o servidor. Algumas APIs, como SOAP ou XML-RPC, impõem uma estrutura rígida aos desenvolvedores. Mas os desenvolvedores podem criar APIs REST utilizando praticamente qualquer linguagem de programação e aceitar uma variedade de formatos de dados. O único requisito é que sigam os seis princípios de design REST a seguir, também conhecidos como restrições de arquitetura.

Interface uniforme

Todas as solicitações de API pelo mesmo recurso devem ter a mesma aparência, independentemente da origem. A API REST deve garantir que o mesmo dado, como o nome ou endereço de e-mail de um usuário, pertença a somente um identificador de recurso uniforme (URI). Os recursos não devem ser muito grandes, mas devem conter todas as informações de que o cliente possa precisar.  

Desacoplamento cliente-servidor

No design da API REST, as aplicações do cliente e do servidor devem ser completamente independentes uma da outra. A única informação que a aplicação do cliente deve conhecer é o URI do recurso solicitado; ela não pode interagir com a aplicação do servidor de nenhuma outra forma. Da mesma forma, uma aplicação do servidor não deve modificar a aplicação do cliente além de passar os dados solicitados via HTTP.

APIs sem estado

As APIs REST são sem estado, ou seja, cada solicitação precisa incluir todas as informações necessárias para seu processamento. Em outras palavras, as APIs REST não requerem quaisquer sessões do lado do servidor. Aplicações do servidor não estão autorizadas a armazenar quaisquer dados relacionados a uma solicitação do cliente.

Cacheabilidade

Quando possível, os recursos devem ser armazenados em cache no lado do cliente ou do servidor. As respostas do servidor também precisam conter informações sobre se o cache é permitido para o recurso entregue. O objetivo é melhorar o desempenho no lado do cliente e, ao mesmo tempo, aumentar a escalabilidade no lado do servidor.

Arquitetura de sistema em camadas

Nas APIs REST, as chamadas e respostas passam por diferentes camadas. Como regra geral, não assuma que as aplicações do cliente e do servidor se conectam diretamente uma à outra. Pode haver vários intermediários diferentes no loop de comunicação. As APIs REST precisam ser projetadas de modo que nem o cliente, nem o servidor possam dizer se estão se comunicando com a aplicação final ou um intermediário.

Código sob demanda (opcional)

As APIs REST geralmente enviam recursos estáticos, mas, em certos casos, as respostas também podem conter código executável (como miniaplicativos Java). Nesses casos, o código só deve ser executado sob demanda.

Como funciona uma API REST

As APIs REST se comunicam por meio de solicitações HTTP para executar funções padrão de banco de dados, como criar, ler, atualizar e excluir registros (também conhecidos como CRUD) em um recurso.

Por exemplo, uma API REST usaria uma solicitação GET para recuperar um registro. Uma solicitação POST cria um novo registro. Uma solicitação PUT atualiza um registro, e uma solicitação DELETE exclui um. Todos os métodos HTTP podem ser usados em chamadas de API. Uma API REST bem projetada é semelhante a um site em execução em um navegador web com funcionalidade HTTP integrada.

O estado de um recurso em um determinado instante, ou registro de data e hora, é conhecido como a representação do recurso. Essas informações podem ser entregues a um cliente em praticamente qualquer formato, incluindo JavaScript Object Notation (JSON), HTML, XLT, Python, PHP ou texto simples. JSON é popular porque pode ser lido por humanos e máquinas – e é independente da linguagem de programação.

Cabeçalhos e parâmetros de solicitação também são importantes em chamadas de API REST, pois incluem informações identificadoras importantes, como metadados, autorizações, identificadores uniformes de recursos (URIs), cache, cookies e mais. Cabeçalhos de solicitação e resposta, juntamente com os códigos de status HTTP convencionais, são usados em APIs REST bem projetadas.

Melhores práticas da API REST

Embora a flexibilidade seja uma grande vantagem do design de API REST, essa mesma flexibilidade facilita projetar uma API que seja problemática ou tenha desempenho ruim. Por esse motivo, os desenvolvedores profissionais compartilham as melhores práticas nas especificações da API REST.

A OpenAPI Specification (OAS) estabelece uma interface para descrever uma API de forma que qualquer desenvolvedor ou aplicação possa descobri-la e entender totalmente seus parâmetros e recursos. Essas informações são endpoints disponíveis, operações permitidas em cada endpoint, parâmetros de operação, métodos de autenticação e mais. A versão mais recente, OAS3, conta com ferramentas práticas, como o OpenAPI Generator, para gerar clientes de API e stubs de servidor em diversas linguagens de programação.

A proteção de uma API REST também começa com as melhores práticas do setor. Utilize algoritmos de hashing para a segurança da senha e HTTPS para a transmissão segura de dados. Um framework de autorização como o OAuth 2.0 pode ajudar a limitar os privilégios de aplicações de terceiros.

Utilizando um registro de data e hora no cabeçalho HTTP, uma API também pode rejeitar todas as solicitações que chegarem após um determinado período. A validação de parâmetros e tokens da web em JSON são outras maneiras de garantir que apenas clientes autorizados possam acessar a API.  

Soluções relacionadas
IBM API Connect

Crie, gerencie, proteja, socialize e monetize APIs durante todo o seu ciclo de vida com uma experiência uniforme e intuitiva, ferramentas de design premiadas e recursos de IA integrados.

 

Explore o API Connect
Soluções iPaaS

Forneça conectividade em todos os seus aplicativos e dados com ferramentas flexíveis para integração de aplicativos, integração de dados, integração B2B e automação de processos.

Explore as soluções iPaaS
Soluções de integração

Conecte aplicativos e sistemas de forma rápida e segura para liberar dados críticos, automatizar processos e liberar o potencial dos negócios.

Explore as soluções de integração
Recursos O que é uma API?

Saiba como as interfaces de programação de aplicações, ou APIs, simplificam o desenvolvimento de software e a inovação ao permitir que aplicações troquem dados e funcionalidades de forma fácil e segura.

O que é API Management?

Saiba mais sobre gerenciamento de API e como uma plataforma unificada de gerenciamento de API pode ajudar sua organização a escalar.

Gartner Critical Capabilities de 2023

Leia o relatório de Recursos Críticos para Gerenciamento de Ciclo de Vida Completo de API da Gartner de 2023 para mais detalhes sobre por que a Gartner reconheceu a IBM como líder.

Dê o próximo passo

Use o IBM API Connect para proteger e gerenciar APIs corporativas ao longo de seus ciclos de vida. Ele ajuda você e seus clientes a criar, gerenciar, proteger, divulgar e monetizar consistentemente APIs corporativas, e também está disponível como uma plataforma de gerenciamento de API altamente escalável no IBM Marketplace and AWS.

Explore o API Connect Agende uma demonstração em tempo real