0% acharam este documento útil (0 voto)
93 visualizações8 páginas

Guia Completo sobre API REST

O documento descreve como funciona uma API REST, incluindo: requisições e respostas usam métodos HTTP em rotas; benefícios como comunicação padronizada entre clientes e serviços; JSON é usado para estrutura de dados; detalhes como parâmetros de rota, consulta e corpo; códigos HTTP; autenticação JWT.

Enviado por

HélioSilvaFilho
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
93 visualizações8 páginas

Guia Completo sobre API REST

O documento descreve como funciona uma API REST, incluindo: requisições e respostas usam métodos HTTP em rotas; benefícios como comunicação padronizada entre clientes e serviços; JSON é usado para estrutura de dados; detalhes como parâmetros de rota, consulta e corpo; códigos HTTP; autenticação JWT.

Enviado por

HélioSilvaFilho
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

API REST

Como funciona?
• Fluxo da requisição e resposta:
• Requisição feita por um cliente;
• Resposta retornada através de uma estrutura de dados;
• Cliente recebe resposta e processa resultado;
• As rotas utilizam métodos HTTP:
• GET http:!//[Link]/users
Método HTTP
• POST http:!//[Link]/users
Recurso / Rota
• PUT http:!//[Link]/users/1
Parâmetro
• DELETE http:!//[Link]/users/1
Benefícios
• Múltiplos clientes (front-end), mesmo back-end;
• Protocolo de comunicação padronizado;
• Mesma estrutura para web / mobile / API pública;
• Comunicação com serviços externos;
JSON (JavaScript Object Notation)
{
"user": {
"name": "Diego Fernandes",
"email": "diego@[Link]",
"tech": ["ReactJS", "NodeJS", "React Native"],
"company": {
"name": "Rocketseat",
"url": "https:!//[Link]"
}
}
}
Conteúdo da requisição
GET http:!//[Link]/company/1/users?page=2 POST http:!//[Link]/company/1/users

{
Route "user": {
"name": "Diego Fernandes",
Route Params "email": "diego@[Link]",
"tech": ["ReactJS", "NodeJS", "React Native"]
Query Params }
}

{
"Locale": "pt_BR"
}

Utilizamos Body ao invés dos Query Params para não


poluir a URL e não mostrar campos sensíveis. Body (Apenas POST/PUT)

Headers
HTTP codes
• 1xx: Informational • 4xx: Client Error
• 2xx: Success • 400: BAD REQUEST
• 401: UNAUTHORIZED
• 200: SUCCESS
• 404: NOT FOUND
• 201: CREATED

• 3xx: Redirection • 5xx: Server Error


• 500: INTERNAL SERVER ERROR
• 301: MOVED PERMANENTLY
• 302: MOVED
Autenticação JWT
POST http:!//[Link]/sessions

{
"email": "diego@[Link]",
Token JWT
"password": "123456"
}

Headers (Tipo de token, algoritmo) [Link]


OiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIi
Payload (Dados adicionais)
wiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2
Assinatura QT4fwpMeJf36POk6yJV_adQssw5c
BORA CODAR!

API REST
Como funciona?
• Fluxo da requisição e resposta: 
• Requisição feita por um cliente; 
• Resposta retornada através de uma est
Benefícios
• Múltiplos clientes (front-end), mesmo back-end; 
• Protocolo de comunicação padronizado; 
• Mesma estrutura para
JSON (JavaScript Object Notation)
{ 
  "user": { 
    "name": "Diego Fernandes", 
    "email": "diego@rocketseat.com.br",
Conteúdo da requisição
GET http:!//api.com/company/1/users?page=2
Query Params
Route
Route Params
POST http:!//api.com/compan
HTTP codes
• 1xx: Informational 
• 2xx: Success 
•
200: SUCCESS 
•
201: CREATED 
• 3xx: Redirection 
•
301: MOVED PERMANENTLY
Autenticação JWT
POST http:!//api.com/sessions
{ 
  "email": "diego@rocketseat.com.br", 
  "password": "123456" 
}
Token JWT
BORA CODAR!

Você também pode gostar