M07 - APIs
M07 - APIs
M07 - APIs
Própria API
1
O que vamos ver hoje
A. rotas de um sistema
B. comunicação com DB
C. a e b
○ POST
- com passagem de parâmetro: cria um registro
O padrão REST
○ PUT
- com passagem de parâmetro: atualiza um registro
○ PATCH
- com passagem de parâmetro: atualiza dados
específicos de um registro
○ DELETE
- com passagem de parâmetro: exclui um registro
O padrão REST
REST 14
1. Conceitos-chave
Índice
2. Formatos de envio de dados
REST 15
1 CONCEITOS-CHAVE
REST 16
ARQUITETURA CLIENTE - SERVIDOR
Um dos padrões desta arquitetura indica que a aplicação do cliente e a
aplicação do servidor podem ser desenvolvidas, ampliadas e alteradas, sem
interferir umas nas outras.
REST 17
RECURSOS UNIFORMES
Um endpoint está ligado ao recurso que solicitamos. Um recurso no sistema
deveria ter somente um identificador lógico, e este prover acesso à toda a
informação relacionada.
/produtos/criar
/produtos /produtos/editar
/produtos/excluir
REST 18
STATELESS
O paradigma REST propõe que todas as interações entre cliente e servidor
devem ser tratadas como novas e de forma absolutamente independente.
REST 19
Cacheable
No paradigma REST, o cache de dados é uma ferramenta muito importante,
que é implementada do lado do cliente para melhorar a performance e reduzir
a demanda ao servidor.
REST 20
Formatos de
2 envio de dados
REST 21
JSON
É o formato mais comum para o envio de dados.
Quando queremos enviar dados no formato JSON, devemos adicionar no
header o seguinte:
{} "Content-Type": "application/json"
REST 22
RAW
É utilizado para mandar dados com texto sem nenhum formato em específico.
TEXT
É utilizado para enviar dados que não estejam em formato JSON, como
arquivos html e css.
REST 23
URL-encoded
É o envio de dados por meio de codificação em forma de URL, algo muito
similar a uma query string.
{} email%3Dcosme%40fulano.fox%26password%3Dverysecret
REST 24
Consumo de APIs
Back-end
O que vamos ver hoje
REST 37
1. Instalação
Índice 2. Interface
3. Teste
REST 38
1 INSTALAÇÃO
REST 39
INSTALAÇÃO
A primeira coisa que faremos será acessar o site oficial do Postman
https://www.postman.com/downloads/ e baixar o instalador que
corresponde ao sistema operacional que usamos. Em seguida, iremos
executamos a instalação.
REST 40
2 INTERFACE
REST 41
INTERFACE
No painel da esquerda, encontraremos o histórico de todas as solicitações que
fizemos. Obviamente, podemos apagar algumas ou todas elas.
REST 42
INTERFACE
No painel da direita é onde mais iremos operar. Faremos nossa primeira
requisição por GET a um endpoint (anteriormente visto).
Para isso, clicamos no símbolo +. Depois, inserimos nossa URL para testar.
Neste caso, escolhemos https://restcountries.eu/rest/v2/ para listar todos os
países. Finalmente, clicamos em SEND para ver os resultados.
REST 43
INTERFACE
Como podemos observar, há um indicador de status à direita, outro indicador
de quanto tempo levou para realizar o request, o tamanho do Json e abaixo
encontra-se o resultado.
REST 44
3 TESTE
REST 45
TESTE
Vamos para a aba Tests. No espaço em branco, podemos escrever usando a
sintaxe de Javascript que já conhecemos. Para isso, usaremos as funções "pm"
do PostMan, que nos permitem executar os testes.
REST 46
AXIOS
O objetivo do Axios é fazer
comunicação HTTP através de
código, configurando requisições
como objetos Javascript.
REST 48
1. Instalação
Índice 2. Requisições
3. Resposta
REST 49
1 INSTALAÇÃO
REST 50
ADICIONAR A BIBLIOTECA
Para incorporar a biblioteca ao back-end, simplesmente temos que executar o
comando em nosso console:
HTML https://cdnjs.cloudflare.com/ajax/libs/axios/0.21.1/axios.min.js
REST 51
3 CONFIGURAÇÕES
REST 52
CONFIGURAÇÕES
● Primeiro, criaremos uma pasta dentro de /src chamada requests, para
que possamos ter todas as requisições para cada recurso dentro do
mesmo diretório.
REST 53
DEFAULT.JS
● Timeout: representa o tempo máximo de espera de resposta
para uma requisição. Se o servidor demorar mais, o Axios cancelará
a requisição.
● BaseURL: seu valor é a url que será usada em todas as requisições que
fizermos.
const default = {
baseURL: 'www.spotify.com/api/',
{} timeout: 4000
};
module.exports = default;
REST 54
4 REQUISIÇÃO
REST 55
MONTAR AS REQUISIÇÕES
● Primeiramente, identificamos qual recurso queremos acessar, e assim,
poderemos criar um arquivo que conterá nossa requisição e todos
aqueles que interagem com este recurso.
REST 56
GET REQUEST
const axios = require('axios');
const default = require('./default');
const url = 'artista';
const artistRequest = {
getArtista: (id) => axios({
...defaults,
method: 'get',
url: `${url}/${id}`
})
};
module.exports = artistRequest;
REST 57
3 RESPOSTA
REST 58
CONSUMIR UMA REQUEST
● Sempre que precisamos usar o serviço, primeiro importamos o
módulo e o armazenamos em uma variável para invocar os métodos
que ele contém.
REST 59
OUTRAS OPÇÕES
REST 60
www.digitalhouse.com/br