O documento fornece instruções passo a passo para testar uma API REST usando a ferramenta Insomnia Core, incluindo como instalar o Insomnia Core, preparar o workspace, criar requisições usando métodos HTTP simples e com segurança (usando tokens). O documento também explica como compartilhar as configurações do Insomnia Core com outras pessoas.
4. https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
Instalação do Insomnia Core
Nesses slides não há explicação sobre API Rest
nem detalhes de ferramentas de testes de API
Rest. Siga os passos abaixo para instalar:
1. Efetue o download do Insomnia Core
https://insomnia.rest/download/core/?
2. Siga os passos de instalação.
Para Linux veja outras opções de instalação
https://support.insomnia.rest/article/23-installa
tion#linux
Apesar de não ter explicações, não poderia
deixar de indicar locais onde possam ler ou ver:
https://support.insomnia.rest/article/11-getting-
started
https://youtu.be/tgs-uJUDvdo
https://youtu.be/3tB0uDliS6Y
5. 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.
6. 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 .
8. 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”
9. 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
no “Base Enviroment”. O seu conteúdo
é um JSON, inicialmente com o valor
vazio {}.Substitua pelo conteúdo:
{ “baseURLl”: “URL_DESEJADA”}
Pressione “Done” para salvar.
Neste exemplo estamos utilizando uma API hospedada no Heroku
https://still-mesa-85287.herokuapp.com
Para mais informações sobre APIs no Heroku consulte:
https://devcenter.heroku.com/articles/mean-apps-restful-api
10. https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
Não é nosso objetivo classificar uma API Rest
ou qualquer outra coisa.
O termo métodos simples está sendo usado
aqui para dizer que vamos criar requisições
GET, POST, PUT e DELETE passando
informações em parâmetros no formato texto.
A ferramenta permite outras formas que é fácil
encontrar documentação sobre isso.
Cadastrar chamadas com métodos simples
Método GET
- com ou sem parâmetros
Método POST e PUT
- passando dados no formato JSON
Método DELETE
- com parâmetro obrigatório
11. 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”.
Ao clicar no botão “Create” a
requisição é criada e fica disponível
para a complementar as informações
(próximo slide).
Tanto o nome como o
método HTTP poderão ser
corrigidos depois.
12. 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.
Ao clicar no botão “Send” a requisição
é executada e o resultado é mostrado.
- STATUS igual a 200 OK
- array de objetos (JSON)
13. 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
“LIST”.
Clique em “Send” e vai obter o retorno.
- STATUS igual a 200 OK
- um único objeto (JSON)
14. 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”.
Coloque o conteúdo como na imagem.
Clique em “Send” e vai obter o retorno.
- STATUS igual a 400 Bad Request
- { "message": "This email is already
registered"}
16. 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”.
Coloque o conteúdo como na imagem.
Clique em “Send” e vai obter o retorno.
- STATUS igual a 200 OK
- um único objeto (JSON)
17. 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”.
Clique em “Send” e vai obter o retorno.
- STATUS igual a 204 OK
18. https://pt.scribd.com/user/23218346/Pedro-Fernandes-Vieira
Uma das formas de implementar segurança
para uma API é gerar um token que deve ser
encaminhado em chamadas que requerem uma
identificação do usuário que está solicitando.
Apresentaremos um exemplo de Token
Authorization chamado de “JWT”. Para maiores
informações consulte
https://blog.logrocket.com/how-to-secure-a-rest
-api-using-jwt-7efd83e71432/
Cadastrar chamadas com segurança
Método POST
- passando credenciais e retornando o
token
Método GET e POST
- passando dados no formato JSON e o
token no cabeçalho
19. 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”.
Coloque o conteúdo como na imagem.
Clique em “Send” e vai obter o retorno.
- STATUS igual a 200 OK
- um único objeto (JSON)
20. 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”.
Coloque o conteúdo como na imagem.
Clique em “Send” e vai obter o retorno.
- STATUS igual a 200 OK
- um único objeto (JSON)
que inclui um token
22. 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”.
Clique em “Send” e vai obter o retorno.
- STATUS igual a 200 OK
- um único objeto (JSON)
23. 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)