logo reprograma

Revisao API

Turma Online On18 - Todas em Tech | back-end | Semana 10 | 2022 | Professora Beatriz Ramerindo

Instruções

Antes de começar, vamos organizar nosso setup. * Fork esse repositório * Clone o fork na sua máquina (Para isso basta abrir o seu terminal e digitar git clone url-do-seu-repositorio-forkado) * Entre na pasta do seu repositório (Para isso basta abrir o seu terminal e digitar cd nome-do-seu-repositorio-forkado)

Resumo

O que veremos na aula de hoje?

Conteúdo

Node Js

HTTP

API (Application Programming Interface)

Arquitetura MVC ( model view controller )

NodeJS

É um interpretador Javascript que não depende do navegador.

Ele é formado pelo V8, motor interpretador de Javascript criado pelo Google, e pela libuv, uma biblioteca que deu características de linguagem back-end para o node.

Node.js revolucionou a forma de programar em Javascript, pois a linguagem evoluiu de uma forma de dar vida aos elementos no navegador para uma linguagem capaz de rodar sistemas em computadores/servidores.

HTTP

É o protocolo de transferência de hipertexto.

O principal protocolo de comunicação entre computadores utilizados na internet.

Ele cria as regras para enviar e receber informações na internet.

Ele é responsável pelo o que acontece por debaixo dos panos quando usamos a internet.

Verbos ou Métodos

Verbos ou Métodos Relação CRUD Descrição
POST CREATE(inserir e/ou ação) consultar cadastrar um recurso ou dispar uma ação como enviar um email
GET READ(consulta) consultar um recurso ou uma lista de recursos na API ex: [GET]/marvel/filmes
PUT ou PATCH UPDATE(atualizar ou substituir) para atualizar um ou mais recursos, ex: atualizar um cátalago de um restaurante
DELETE DELETE(apagar ou remover parcialmente(soft delete)) para deletar um recurso ou informação no sistema, ex: apagar uma playlist

API (Application Programming Interface)

REST e RESTful

Rest é uma abstração(forma de usar as regras) do protocolo HTTP para simplificar a construção de um web service, ou seja quem cria uma API com as restrições e regras do modelo Rest está criando na verdade API Restful.

O grande objetivo desse modelo é fazer com que os recursos estejam disponíveis através de URLs.

Algumas das regras:

  • Adotar convenção de URLs
  • Basear em recursos
  • Usar os verbos HTTP para indicar ações
  • Ser stateless, ou seja, toda requisição é autossuficiente/independente

Arquitetura MVC

📂 API     
├─ 📂 src                       
│  ├─ 📂 controllers            
│  │  └─ produtoController.js          
│  ├─ 📂 models                 
│  │  └─ produtoModel.js      
│  ├─ 📂 routes                 
│  │  └─ produtoRouter.js            
│  └─ app.js                 
├─ package-lock.json         
├─ package.json  
├─ .gitignore 
├─ README.md             
└─ server.js

Server.js

Aqui no server que você vai chamar o app para escutar a porta e disponibilizar toda a aplicação a partir do localhost

App.js

Aqui no app que você vai usar a rota raiz e ele centraliza todas as rotas, é responsavel também por fazer a conexão ao banco e é possivel utilizar middlewares (plugin) como o json parser ou o cors

📂 Routes

Aqui nas rotas você vai usar os verbos para executar os controllers

📂 Controller

Aqui no controller você vai processar a requisição e fornecer as respostas de acordo com os parametros recebido na request, com o devido status code e payload no formato json

📂 Model

Por enquanto estamos apenas guardando nosso JSON aqui, mas no futuro será o lugar onde você irá modelar os esquemas de dados para o banco. Não fique ansiosa! Acredite no processo, ele funciona!

Exercícios

Links Úteis

Obrigada meninas, Bea

Desenvolvido com 💜