Testando API Rest com
Insomnia Core
15 de setembro de 2020
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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.
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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)
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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:
https://support.insomnia.rest/article/11-getting-
1. Efetue o download do Insomnia Core started
https://insomnia.rest/download/core/?
2. Siga os passos de instalação. https://youtu.be/tgs-uJUDvdo
Para Linux veja outras opções de instalação https://youtu.be/3tB0uDliS6Y
https://support.insomnia.rest/article/23-installa
tion#linux
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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.
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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 .
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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.
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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”
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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 https://still-mesa-85287.herokuapp.com
é um JSON, inicialmente com o valor
vazio {}.Substitua pelo conteúdo: Para mais informações sobre APIs no Heroku consulte:
https://devcenter.heroku.com/articles/mean-apps-restful-api
{ “baseURLl”: “URL_DESEJADA”}
Pressione “Done” para salvar.
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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).
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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.
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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.
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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.
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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)
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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.
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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.
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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
https://blog.logrocket.com/how-to-secure-a-rest
-api-using-jwt-7efd83e71432/
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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.
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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.
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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.
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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.
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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)
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
Compartilhe
com outras
pessoas Obrigado!!
link abaixo
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
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!!
https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira