Git Product home page Git Product logo

on18-tet-s10-api-revisao's Introduction

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 💜

on18-tet-s10-api-revisao's People

Contributors

isjanebea avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.