Testando API Rest com
Insomnia Core
15 de setembro de 2020
[Link]
Objetivo
Este material não é um curso ou parte de nenhum curso ou treinamento. Foi
elaborado com o único objetivo de transferir conhecimentos adquiridos em
estudos autônomos.
[Link]
Instalação do Cadastrar chamadas Compartilhar com
Insomnia Core com métodos simples outras pessoas
10 min 1 min 10 min 10 min 1 min
Preparação do Cadastrar chamadas
Worskspace com alguma
segurança (token)
[Link]
Instalação do Insomnia Core
Nesses slides não há explicação sobre API Rest Apesar de não ter explicações, não poderia
nem detalhes de ferramentas de testes de API deixar de indicar locais onde possam ler ou ver:
Rest. Siga os passos abaixo para instalar:
[Link]
1. Efetue o download do Insomnia Core started
[Link]
2. Siga os passos de instalação. [Link]
Para Linux veja outras opções de instalação [Link]
[Link]
tion#linux
[Link]
Por que Insomnia Core
Quando o resultado da API é apenas listar dados, podemos acessar nossa API
diretamente pelo navegador. Mas, se precisarmos testar a criação de um novo
registro por meio do método POST ou a exclusão de um dado por meio do
método DELETE, podemos notar algumas dificuldades.
Como podemos fazer esses testes? Você já criou uma tag HTML de formulário
para testar o envio de dados para um servidor? Isso pode ser bem cansativo e
não muito produtivo, não é mesmo?
O Insomnia Core é uma ferramenta cliente simples e poderosa para criar e
executar chamadas para API com qualquer método HTTP. De forma simples,
sem necessidade de escrita de código-fonte ou scripts.
[Link]
Preparação do
Workspace
Workspace é usado para isolar
projetos dentro do Insomnia. Todos os
dados, exceto as configurações
globais, são armazenados no nível do
Workspace.
Ao executar a primeira vez você verá
que a ferramenta já vem com um
workspace chamado “Insomnia”.
Na figura ao lado esse campo “roxo” aí
com um ícone 🔻 no final .
[Link]
Preparação do
Workspace
Ao clicar no ícone 🔻 podemos
observar vários opções.
Escolha a opção “Create Workspace” e
digite “Test Heroku API”.
Pronto.
O ideal é ter um workspace por projeto
e dentro do Workspace criar “folders”
para cada “domínio da aplicação”.
Mas aí vai ser uma decisão de vocês.
[Link]
Preparação do
Workspace
Com o Worspace criado e
selecionado vamos observar outro
recurso importante: “enviroments”..
Inicialmente não há “ambiente” criado
e é mostrado “No Enviroment”. Ao
clicar no ícone 🔻 ao lado do nome
“No Enviroment” podemos observar as
opções.
Escolha a opção “Managed
Enviroments”
[Link]
Preparação do
Workspace
Notamos que em “Managed
Enviroments” podemos definir “dados”
para um “ambiente” chamado “Base
Enviroment“ e também podemos criar
“sub enviroments”.
Nesse teste criaremos apenas dados
Neste exemplo estamos utilizando uma API hospedada no Heroku
no “Base Enviroment”. O seu conteúdo [Link]
é um JSON, inicialmente com o valor
vazio {}.Substitua pelo conteúdo: Para mais informações sobre APIs no Heroku consulte:
[Link]
{ “baseURLl”: “URL_DESEJADA”}
Pressione “Done” para salvar.
[Link]
Cadastrar chamadas com métodos simples
Não é nosso objetivo classificar uma API Rest Método GET
ou qualquer outra coisa.
- com ou sem parâmetros
O termo métodos simples está sendo usado
aqui para dizer que vamos criar requisições Método POST e PUT
GET, POST, PUT e DELETE passando
- passando dados no formato JSON
informações em parâmetros no formato texto.
Método DELETE
A ferramenta permite outras formas que é fácil
encontrar documentação sobre isso.
- com parâmetro obrigatório
[Link]
Novas Requisições
- Simples - GET
Ao clicar no ícone + as opções serão
mostradas.
Crie um “folder” com nome “Contacts”.
Crie um “request” com nome “LIST”
utilizando método “GET”.
Tanto o nome como o
Ao clicar no botão “Create” a método HTTP poderão ser
requisição é criada e fica disponível corrigidos depois.
para a complementar as informações
(próximo slide).
[Link]
Novas Requisições
- Simples - GET
No campo ao lado do método GET,
digite a url.
Como cadastramos uma variável
“base_URL” no “Base Enviment”, basta
digitar “baseURL” que a ferramenta vai
mostrar as opções de variáveis
escolha “baseURL” e depois
complemente conforme mostra a
figura ao lado.
- STATUS igual a 200 OK
Ao clicar no botão “Send” a requisição - array de objetos (JSON)
é executada e o resultado é mostrado.
[Link]
Novas Requisições
- Simples - GET
No “folder” “Contacts” crie um
“request” com nome “SHOW”
utilizando método “GET”.
No campo ao lado do método GET,
digite a url:
base_url /contacts/ID_AQUI
ID_AQUI substutua por um id
mostrado no resultado da request - STATUS igual a 200 OK
“LIST”. - um único objeto (JSON)
Clique em “Send” e vai obter o retorno.
[Link]
Novas Requisições
- Simples - POST
No “folder” “Contacts” crie um
“request” com nome “CREATE”
utilizando método “POST”.
No campo ao lado do método POST,
digite a url: “base_url /contacts/”
Na aba “Body”, clique no ícone 🔻 e
escolha “TEXT” >> “JSON”.
- STATUS igual a 400 Bad Request
Coloque o conteúdo como na imagem. - { "message": "This email is already
registered"}
Clique em “Send” e vai obter o retorno.
[Link]
Novas Requisições
- Simples - POST
“Contacts” - “CREATE”
Mude o email no JSON e clique
novamente em “Send” e vai obter o
retorno.
- STATUS igual a 200 OK
- um único objeto (JSON)
[Link]
Novas Requisições
- Simples - PUT
No “folder” “Contacts” crie um
“request” com nome “UPDATE”
utilizando método “PUT”.
No campo ao lado do método PUT,
digite a url: “base_url /contacts/ID”
Substitua ID por algum existente.
Na aba “Body”, clique no ícone 🔻 e
escolha “TEXT” >> “JSON”. - STATUS igual a 200 OK
- um único objeto (JSON)
Coloque o conteúdo como na imagem.
Clique em “Send” e vai obter o retorno.
[Link]
Novas Requisições
- Simples - DELETE
No “folder” “Contacts” crie um
“request” com nome “REMOVE”
utilizando método “DELETE”.
No campo ao lado do método DELETE,
digite a url:
base_url /contacts/ID_AQUI
ID_AQUI substutua por um id
mostrado no resultado da request
“LIST”. - STATUS igual a 204 OK
Clique em “Send” e vai obter o retorno.
[Link]
Cadastrar chamadas com segurança
Uma das formas de implementar segurança Método POST
para uma API é gerar um token que deve ser
encaminhado em chamadas que requerem uma - passando credenciais e retornando o
identificação do usuário que está solicitando. token
Apresentaremos um exemplo de Token Método GET e POST
Authorization chamado de “JWT”. Para maiores
- passando dados no formato JSON e o
informações consulte
token no cabeçalho
[Link]
-api-using-jwt-7efd83e71432/
[Link]
Novas Requisições
- Segurança - POST
Crie um “folder” com nome “Users”.
Crie um “request” com nome
“CREATE” utilizando método “POST”.
No campo ao lado do método POST,
digite a url: “base_url /users/”
Na aba “Body”, clique no ícone 🔻 e
escolha “TEXT” >> “JSON”.
- STATUS igual a 200 OK
Coloque o conteúdo como na imagem. - um único objeto (JSON)
Clique em “Send” e vai obter o retorno.
[Link]
Novas Requisições
- Segurança - POST
Crie um “folder” com nome “Sessions”.
Crie um “request” com nome “AUTH”
utilizando método “POST”.
No campo ao lado do método POST,
digite a url: “base_url /sessions/”
Na aba “Body”, clique no ícone 🔻 e
escolha “TEXT” >> “JSON”.
- STATUS igual a 200 OK
Coloque o conteúdo como na imagem. - um único objeto (JSON)
que inclui um token
Clique em “Send” e vai obter o retorno.
[Link]
Novas Requisições
- Segurança
Escolha a opção “Managed
Enviroments” e inclua mais uma
variável chamada “baseToken” com o
valor do token retornado na chamada
anterior.
[Link]
Novas Requisições
- Segurança - POST
Crie um “folder” com nome
“Appointments”. Crie um “request”
com nome “CREATE” utilizando
método “POST”. No campo ao lado do
método POST, digite a url: “base_url
/appointments/”. Na aba “Body”, clique
no ícone 🔻 e escolha “TEXT” >>
“JSON”. Coloque o conteúdo como na
imagem. Na aba “Auth”, escolha
“Bearer Token” e no campo Token
escreva “baseToken”. - STATUS igual a 200 OK
- um único objeto (JSON)
Clique em “Send” e vai obter o retorno.
[Link]
Novas Requisições
- Segurança - GET
No “folder” com nome “Appointments”,
crie um “request” com nome “LIST”
utilizando método “GET”. No campo ao
lado do método GET, digite a url:
“base_url /appointments/”. Na aba
“Auth”, escolha “Bearer Token” e no
campo Token escreva “baseToken”.
Clique em “Send” e vai obter o retorno.
- STATUS igual a 200 OK
- um ARRAY de objetos
(JSON)
[Link]
Compartilhe
com outras
pessoas Obrigado!!
link abaixo
[Link]
Este material não é um curso ou parte de nenhum curso ou treinamento. Foi
elaborado com o único objetivo de transferir conhecimentos adquiridos em
estudos autônomos.
Obrigado!!
[Link]