rest api tutorial rest api architecture
Neste tutorial, aprenderemos sobre API REST, serviços da Web, arquitetura de API REST, restrições de API REST e como testar uma API usando POSTMAN:
Pré-requisitos: Conhecimentos básicos de Web Services.
Verificar Aqui para obter uma compreensão clara dos Web Services.
O que você aprenderá:
O que é REST API?
API é simplesmente uma interface, que é usada por componentes de software para se comunicarem uns com os outros. Um serviço é uma função bem definida, autocontida e não depende de nenhum outro serviço.
Um Web Service é um tipo de API, quase todos eles operam sobre HTTP. Quando uma API da Web é desenvolvida usando a Arquitetura REST, ela é chamada de API da Web REST.
No momento, existem dois tipos de serviços da Web,
- SABÃO
- RESTO
Diferença entre SOAP e REST
SABÃO | RESTO |
---|---|
Podemos usar apenas o formato XML para enviar os dados no corpo da solicitação | Podemos ter o formato XML, JSON, etc. para enviar a solicitação. |
É um protocolo | É um estilo de arquitetura e independente de qualquer protocolo, REST pode usar SOAP Web Services |
Significa Simple Object Access Protocol | Significa Transferência de Estado Representacional |
Ele usa interfaces de serviço para expor a lógica de negócios. | Ele usa URI para expor a lógica de negócios. |
O SOAP possui um padrão rígido a ser seguido. | Não há tal padrão estrito mencionado, a ser seguido pelo REST. No entanto, o usuário pode seguir alguns padrões ao desenvolver serviço da web usando REST. |
Requer mais largura de banda. | É leve. |
Ele pode definir sua própria segurança. | REST herda as medidas de segurança do transporte. |
O melhor exemplo é Google, AMAZON | O melhor exemplo é YAHOO, LINKEDIN, AMAZON |
SOAP usa protocolo HTTP, SMTP etc. | REST depende apenas de HTTP. |
As regras para mensagem de ligação, operações, etc. são gravadas em WSDL | REST segue o formato WADL para descrever a funcionalidade oferecida por serviços da web |
É padronizado. | Os serviços REST não são padronizados. |
Requer mais tempo de aprendizagem por causa de suas regras existentes, vinculação etc. | Requer menos tempo para aprender por causa de sua simplicidade. |
Por que escolher REST em vez de SOAP?
Os pontos abaixo explicam os motivos para optar pelo REST em vez do SOAP.
- É muito bom para desenvolver e testar APIs da Web.
- REST requer menos largura de banda.
- Podemos usar AJAX para APIs da Web baseadas em REST.
- Requer menos sobrecarga de análise.
- O tamanho do Payload criado pelo JSON é menor.
Existem muitos clientes / ferramentas disponíveis na web, o que nos permite consumir serviços da Web RESTful.
Eles estão:
- Carteiro
- Cliente de descanso avançado
- Cliente DHC Rest
- Solicitante
- Insônia
- Assertível
- Poster
Por que Postman?
- Ele exibe todas as opções disponíveis.
- Postman tem um recurso adicional (conhecido como Runner).
- UI amigável e fácil de usar.
- Maior grupo / membros da comunidade.
Arquitetura da API REST
É principalmente a arquitetura da Web em um estilo de arquitetura de software. É para sistemas hipermídia distribuídos. Uma API RESTful tira proveito diretamente das metodologias HTTP definidas pelo protocolo RFC 2616.
Poucas definições
FOGO significa Interface de Programação de Aplicativo. É um conjunto de definições de sub-rotina, protocolos e ferramentas para construir o software aplicativo.
Serviços web são alguns códigos de programa que contêm dados / métodos embutidos. Eles são implantados pela organização na Internet para se comunicar com usuários, aplicativos de terceiros, etc. Para comunicar as mensagens, principalmente XML é usado como um sistema de mensagens. XML simplesmente codifica todas as comunicações entre usuários e aplicativos.
HTTP significa Protocolo de Transferência de Hipertexto, usado pela World Wide Web. Ele define como as mensagens são formatadas e transmitidas e quais ações os servidores e navegadores da Web executam em resposta a vários comandos.
Estilo arquitetônico, estes são caracterizados pelos recursos que são usados para criar uma estrutura e até mesmo torná-la única. Os estilos são de dois tipos: interface em camadas e uniforme.
ODIAR : Também conhecido como Identificador Uniforme de Recursos. Identifica um recurso (documento de texto, arquivo de imagem, etc).
URL: Também conhecido como Localizador Uniforme de Recursos. É um subconjunto dos URIs, que inclui um local de rede.
URNA : Também conhecido como Uniform Resource Name é um subconjunto de URIs, que inclui um nome em um determinado espaço, mas nenhum local.
Por exemplo,
http://elearning.com/amazon/restapi.html#books
Aqui, no exemplo acima
ODIAR : http://elearning.com/amazon/restapi.html#posts
URL : http://elearning.com/amazon/restapi.html
URNA : elearning.com/amazon/restapi.html#posts
melhor programa para monitorar a temperatura da CPU
Portanto, um URL é um URI que identifica um recurso e também fornece os meios de localizar o recurso, descrevendo a maneira de acessá-lo.
Portanto, cada URL pode ser um URI, mas o inverso não é verdadeiro.
Um serviço RESTful é exposto por meio de um Localizador Uniforme de Recursos (URL). Este é um nome lógico que separa a identidade do recurso do que é aceito ou retornado.
Um exemplo de arquitetura REST:
Restrições da API REST
Uma interface de API é considerada RESTful se cumprir as seguintes restrições:
- Interface uniforme: Isso significa que, independentemente de qualquer cliente que estivermos usando, o conceito básico de implementação e uso dos serviços REST permanecerá o mesmo. Todas as APIs REST desenvolvidas devem ter uma abordagem comum para o desenvolvimento.
- Stateless: Isso significa que nenhuma sessão deve ser armazenada. Portanto, o servidor não armazenará nenhuma solicitação HTTP enviada por um cliente. Portanto, para um servidor, toda e qualquer solicitação HTTP é uma nova solicitação. Não importa quantas vezes a solicitação seja feita ou o cliente seja único ou não.
- Cache: Cache significa a frequência com que os dados e as respostas estão sendo acessados de um cache em vez do servidor. O conceito de armazenamento em cache é aplicável ao enviar a solicitação do cliente. Portanto, a melhoria de desempenho é feita do lado do cliente.
- Servidor cliente: O servidor e os clientes são independentes um do outro em termos de implementação. Um cliente só precisa enviar o URI de solicitação junto com ou sem autenticação. Em seguida, o servidor executa o resto da etapa, ou seja, uma resposta.
- Sistema em camadas: O cliente pode enviar apenas a solicitação ao servidor como URI de recurso. Mas então, antes de a solicitação ser enviada ao servidor, existe a API REST, que nos fornece a arquitetura do sistema em camadas. Isso significa que podemos ter API implementada em um servidor, dados são implementados em outro servidor e autenticação em outro servidor.
- Código sob demanda (opcional): Às vezes, um cliente pode precisar de mais do que apenas uma resposta. A API REST nos permite enviar um código executável como resposta (esse código executável pode ser um widget ou qualquer controle). No entanto, é totalmente opcional se ativamos / implementamos esse recurso.
Mais algumas terminologias relacionadas à API Rest:
Endpoint : É a referência a um URL que aceita solicitações da web. Um serviço da web é endereçável usando referência de terminal.
Por exemplo, Http: // {Domain_URL} //librarygr/libraries.xml
Recursos : É um subconjunto do Endpoint. Normalmente, o Endpoints expõe alguns objetos que podem ser consumidos por meio de serviços da web. Os recursos são especificamente aquela parte de um objeto sobre o URI do endpoint.
Por exemplo, Http: // {Domain_URL} // api / pg_library / ornitologia / cisne
Carga útil : Carga útil são as informações enviadas durante a execução da operação POST ou PUT. Essas são as informações especificadas no corpo da solicitação HTTP.
Payloads são enviados em formato JSON, Por exemplo,
{ Id: 1, name:'sam', phones:({title:'mobile',number:9898989899}, {title:'home',number:8888888888}) }
Parâmetros :
Podemos passar parâmetros de duas maneiras.
Parâmetros de consulta : Útil para acessar pares de chave / valor na string de consulta do URL (a parte após o?)
Melhor exemplo
http://jsonplaceholder.typicode.com/posts/?id=3
Parâmetros do caminho: É útil combinar uma parte do URL como parâmetro. Podemos enviar informações como um parâmetro de caminho da seguinte maneira: Form-data, x-www-form-urlencoded, raw, binary.
Melhor exemplo:
https://api.github.com/gists/49b05378bb8920d5b4ec54efc27103e2/comments
qual é o melhor firewall grátis para windows 10
O que é POSTMAN?
POSTMAN é um cliente REST, simplesmente um aplicativo que vem com o navegador Chrome. Ele está sendo desenvolvido, tendo os desenvolvedores em mente para tornar o teste de chamada de API mais fácil. Ele tem sua própria GUI para enviar solicitações de API e ler respostas de API.
Podemos realizar o teste da API REST tanto manualmente quanto por automação.
Na seção a seguir, aprenderemos como testar a API da Web manualmente usando o cliente POSTMAN.
Como testar a API com o Postman?
Instalação
Precisamos acessar o Loja online do Chrome . Na busca do navegador Chrome por Postman. Clique Aqui para adicioná-lo ao botão Chrome.
Depois de instalado com êxito, podemos encontrar POSTMAN no aplicativo Chrome. Basta clicar no ícone do Postman para abrir o POSTMAN. Levará algum tempo para iniciar pela primeira vez.
Consulte o seguinte URL para entender como usar CARTEIRO como uma ferramenta.
Pré-requisitos: A conexão com a Internet é necessária para acessar os serviços implantados na web. No caso de acessar os serviços implantados localmente, certifique-se de ter direitos suficientes, privilégios são dados ao usuário que está executando o teste no POSTMAN.
URI de recurso fictício: Neste tutorial, usaremos um URI fictício em vez de um URI real. Ele nos dará as respostas desejadas, mas não podem ser feitas alterações no servidor.
http://jsonplaceholder.typicode.com
Passos de navegação :
# 1) Depois que o aplicativo POSTMAN é iniciado, podemos ver a página de solicitação por padrão.
#dois) Podemos ver a lista de chamadas de API clicando no menu suspenso. Ao selecionar qualquer uma das opções do menu suspenso, podemos solicitar a chamada de API para o servidor.
# 3) Clique no botão Variável de ambiente no canto superior direito de um POSTMAN. Defina o ambiente específico, onde iremos testar. Podemos salvá-lo para execução futura.
# 4) O ambiente salvo pode ser acessado no menu suspenso Ambiente.
# 5) Em seguida, precisamos definir o URI do recurso na caixa fornecida.
# 6) Clique no botão Params próximo ao campo Resource URI para especificar os parâmetros de consulta
# 7) Clique na guia Autorização, selecione o tipo de Autorização no menu suspenso e defina qualquer Autorização desejada ou pode simplesmente deixar como Sem Autorização.
# 8) Clique na guia Cabeçalhos e defina os cabeçalhos necessários como tipo de conteúdo
# 9) Clique na guia Corpo, selecione o botão de rádio de dados do formulário. Especifique os parâmetros do corpo necessários que devem ser enviados junto com o URL da solicitação
# 10) Clique na guia Corpo, selecione o botão de opção x-www-form-urlencoded. Especifique os parâmetros do corpo necessários que precisam ser enviados como codificados, junto com o URL da solicitação
#onze) Clique na guia Corpo, selecione o botão de opção 'bruto'. Especifique os parâmetros do corpo necessários que devem ser enviados junto com o URL da solicitação. Isso está no formato JSON real
para que é usado java hoje
# 12) Clique na guia Corpo e selecione o botão de opção 'binário'. Especifique os parâmetros do corpo necessários (normalmente como um arquivo) que precisam ser enviados junto com o URL da solicitação.
# 13) Depois de configurar todos os detalhes conforme especificado acima, agora podemos ‘Enviar’ a solicitação. Além disso, podemos salvar a solicitação de envio como request.json (podemos alterar o nome da solicitação).
# 14) Podemos ver a lista de Solicitações feitas, no painel do lado esquerdo na guia Histórico.
#quinze) Além disso, podemos salvar todos os detalhes relacionados à Solicitação (URI, Autorização, Parâmetros, corpo, etc.) em uma Coleção existente ou em uma nova Coleção. Assim que a Solicitação for adicionada à Coleção, podemos exportá-la (compartilhá-la) e até mesmo importar qualquer Coleção existente.
Podemos compartilhar a coleção como um link ou como uma biblioteca de equipe por meio de um código gerado simples. Sempre podemos executar todo o pacote Collection.
Podemos até mesmo publicar a URL da coleção na web para que qualquer pessoa que acesse a URL publicada possa acessar a coleção e consumir os serviços fornecidos pela API da web.
Existe um recurso para fazer login no POSTMAN, que nos permite armazenar o histórico, coleções, dados ambientais, armazenamento local para que possamos salvá-los e acessá-los em qualquer lugar, a qualquer momento após estarmos logados no POSTMAN.
Corredor
É usado para executar os recursos presentes na pasta Coleções.
Conclusão
A maioria das empresas está adotando o estilo de arquitetura REST para o desenvolvimento / implementação de web services por ser uma interface simples e amigável, que requer menos treinamento para os membros existentes / novos do projeto. As organizações estão considerando o REST junto com seus serviços da web existentes.
Leia também = >> Tutorial da API Flask
No próximo tutorial desta série de APIs REST, discutiremos diferentes tipos de códigos de resposta, tipos de solicitações REST, etc.
Leitura recomendada
- Códigos de resposta da API Rest e tipos de solicitações de descanso
- Tutorial POSTMAN: Teste de API usando POSTMAN
- Teste de API REST com Cucumber usando a abordagem BDD
- As 10 melhores ferramentas de teste de API em 2021 (ferramentas de teste de API SOAP e REST)
- Teste de API REST com Spring RestTemplate e TestNG
- Como automatizar solicitações de API usando Rest Assured e Jenkins
- Como criar um projeto REST no SoapUI Pro: Tutorial nº 13
- Tutorial Parasoft SOAtest: ferramenta de teste de API sem script