Tabla de Contenido
Vídeo – REST
Como você acabou de aprender, REST é atualmente a API mais usada. Este tópico cobre REST com mais detalhes.
Clique em reproduzir no vídeo para saber mais sobre REST.
API REST e RESTful
Os navegadores da web usam HTTP ou HTTPS para solicitar (GET) uma página da web. Se solicitado com sucesso (código de status HTTP 200), os servidores web respondem às solicitações GET com uma página da web codificada em HTML, conforme mostrado na figura.
REST é um estilo de arquitetura para projetar aplicativos de serviço da web. Refere-se a um estilo de arquitetura da web que possui muitas características subjacentes e governa o comportamento de clientes e servidores. Em termos simples, uma API REST é uma API que funciona sobre o protocolo HTTP. Ele define um conjunto de funções que os desenvolvedores podem usar para realizar solicitações e receber respostas via protocolo HTTP, como GET e POST.
A conformidade com as restrições da arquitetura REST é geralmente chamada de “RESTful”. Uma API pode ser considerada “RESTful” se tiver os seguintes recursos:
- Cliente-Servidor – O cliente lida com o front-end e o servidor lida com o back-end. Qualquer um pode ser substituído independentemente do outro.
- Stateless – Nenhum dado do cliente é armazenado no servidor entre as solicitações. O estado da sessão é armazenado no cliente.
- Armazenável em cache – os clientes podem armazenar respostas em cache para melhorar o desempenho.
Implementação RESTful
Um serviço da web RESTful é implementado usando HTTP. É uma coleção de recursos com quatro aspectos definidos:
- O Uniform Resource Identifier (URI) de base para o serviço da web, como http://example.com/resources.
- O formato de dados compatível com o serviço da web. Geralmente é JSON, YAML ou XML, mas pode ser qualquer outro formato de dados que seja um padrão de hipertexto válido.
- O conjunto de operações suportadas pelo serviço da web usando métodos HTTP.
- A API deve ser controlada por hipertexto.
APIs RESTful usam métodos HTTP comuns, incluindo POST, GET, PUT, PATCH e DELETE. Conforme mostrado na tabela a seguir, eles correspondem às operações RESTful: Criar, Ler, Atualizar e Excluir (ou CRUD).
Método HTTP | Operação RESTful |
---|---|
POST | Crio |
GET | Leitura |
PUT/PATCH | Atualizar |
DELETE | Excluir |
Na figura, a solicitação HTTP pede dados formatados em JSON. Se a solicitação for construída com sucesso de acordo com a documentação da API, o servidor responderá com dados JSON. Esses dados JSON podem ser usados por um aplicativo da web do cliente para exibir os dados. Por exemplo, um aplicativo de mapeamento de smartphone mostra a localização de San Jose, Califórnia.
URI, URN e URL
Os recursos e serviços da web, como APIs RESTful, são identificados por meio de um URI. Um URI é uma sequência de caracteres que identifica um recurso de rede específico. Conforme mostrado na figura, um URI tem duas especializações:
- Uniform Resource Name (URN) – Identifica apenas o namespace do recurso (página da web, documento, imagem, etc.) sem referência ao protocolo.
- Localizador Uniforme de Recursos (URL) – Define a localização de rede de um recurso específico na rede. URLs HTTP ou HTTPS são normalmente usados com navegadores da web. Outros protocolos como FTP, SFTP, SSH e outros podem usar um URL. Um URL usando SFTP pode ser semelhante a: sftp: //sftp.example.com.
Estas são as partes de um URI, conforme mostrado na figura:
- Protocolo / esquema – HTTPS ou outros protocolos, como FTP, SFTP, mailto e NNTP
- Nome do host – www.example.com
- Caminho e nome do arquivo – /author/book.html
- Fragmento – # page155
Partes de um URI
Anatomia de uma solicitação RESTful
Em um serviço da Web RESTful, uma solicitação feita ao URI de um recurso obterá uma resposta. A resposta será uma carga útil normalmente formatada em JSON, mas pode ser HTML, XML ou algum outro formato. A figura mostra o URI para a API de direções MapQuest. A solicitação de API é para rotas de San Jose, Califórnia, a Monterey, Califórnia.
Partes de uma solicitação de API
A figura mostra parte da resposta da API. Neste exemplo, são as direções MapQuest de San Jose a Monterey no formato JSON.
Payload JSON parcial recebido de uma solicitação de API
Estas são as diferentes partes da solicitação da API:
- Servidor API – Este é o URL do servidor que responde às solicitações REST. Neste exemplo, é o servidor da API MapQuest.
- Recursos – Especifica a API que está sendo solicitada. Neste exemplo, é a API de direções do MapQuest.
- Consulta – Especifica o formato dos dados e as informações que o cliente está solicitando do serviço de API. As consultas podem incluir:
- Formato – Geralmente é JSON, mas pode ser YAML ou XML. Neste exemplo, o JSON é solicitado.
- Chave – A chave é para autorização, se necessário. MapQuest requer uma chave para sua API de direções. No URI acima, você precisaria substituir “KEY” por uma chave válida para enviar uma solicitação válida.
- Parâmetros – Os parâmetros são usados para enviar informações pertencentes à solicitação. Neste exemplo, os parâmetros de consulta incluem informações sobre as direções que a API precisa para saber quais direções retornar: “from = San + Jose, Ca” e “to = Monterey, Ca”.
Muitas APIs RESTful, incluindo APIs públicas, requerem uma chave. A chave é usada para identificar a origem da solicitação. Aqui estão alguns motivos pelos quais um provedor de API pode exigir uma chave:
- Para autenticar a fonte e certificar-se de que estão autorizados a usar a API.
- Para limitar o número de pessoas que usam a API.
- Para limitar o número de solicitações por usuário.
- Para melhor capturar e rastrear os dados solicitados pelos usuários.
- Para reunir informações sobre as pessoas que usam a API.
Nota: Se você deseja usar a API MapQuest, a API requer uma chave. Pesquise a URL na Internet para obter uma chave MapQuest. Use os parâmetros de pesquisa: developer.mapquest. Você também pode pesquisar na Internet o URL atual que descreve a política de privacidade do MapQuest.
Aplicativos RESTful API
Muitos sites e aplicativos usam APIs para acessar informações e fornecer serviços para seus clientes. Por exemplo, ao usar um site de serviço de viagens, o serviço de viagens usa a API de várias companhias aéreas para fornecer ao usuário a companhia aérea, o hotel e outras informações.
Algumas solicitações de API RESTful podem ser feitas digitando o URI em um navegador da web. A API de direções do MapQuest é um exemplo disso. Uma solicitação de API RESTful também pode ser feita de outras maneiras.
Clique em cada cenário de aplicativo de API abaixo para obter mais informações.
Pronto para ir! Continue visitando nosso blog do curso de networking, confira todo o conteúdo do CCNA 3 aqui; e você encontrará mais ferramentas e conceitos que o tornarão um profissional de rede.