Turma Online On18 - Todas em Tech | back-end | Semana 10 | 2022 | Professora Beatriz Ramerindo
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
)
O que veremos na aula de hoje?
É 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.
É 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 | Relação CRUD | Descrição |
---|---|---|
POST | C REATE(inserir e/ou ação) |
consultar cadastrar um recurso ou dispar uma ação como enviar um email |
GET | R EAD(consulta) |
consultar um recurso ou uma lista de recursos na API ex: [GET]/marvel/filmes |
PUT ou PATCH | U PDATE(atualizar ou substituir) |
para atualizar um ou mais recursos, ex: atualizar um cátalago de um restaurante |
DELETE | D ELETE(apagar ou remover parcialmente(soft delete)) |
para deletar um recurso ou informação no sistema, ex: apagar uma playlist |
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.
- 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
📂 API
├─ 📂 src
│ ├─ 📂 controllers
│ │ └─ produtoController.js
│ ├─ 📂 models
│ │ └─ produtoModel.js
│ ├─ 📂 routes
│ │ └─ produtoRouter.js
│ └─ app.js
├─ package-lock.json
├─ package.json
├─ .gitignore
├─ README.md
└─ 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
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
Aqui nas rotas você vai usar os verbos para executar os controllers
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
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!