Alan Ferreira dos Santos
alanfsantos
Quiz
Node.js
História
Características
Flexibilidade
Leveza
Alta produtividade
Desvantagens
Aplicações
NPM
Yarn
npm install -g yarn
yarn -v
Instalando o Yarn
mkdir bootcamp-api
cd bootcamp-api
yarn init
Inicializando o projeto
Visual Code Studio
{
"name": "nodeapi",
"version": "1.0.0",
"main": "app.js",
"license": "MIT",
"scripts": {
"start": "node index.js"
},
"dependencies": {
},
"devDependencies": {
}
}
Entendendo o package.json
echo "console.log('Minha aplicação Node.js')" > index.js
Criando o arquivo app.js
Rodando a aplicação
yarn start
HTTP
GET
POST
PUT
DELETE
Respostas
Express
yarn add express
Adicionado o Express
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
})
app.listen(port, () => {
console.log(`Aplicação rodando em http://localhost:${port}`);
})
Criando sua primeira rota
Roteamento
var express = require('express');
var app = express();
app.METHOD(PATH, HANDLER)
Roteamento
var express = require('express');
var app = express();
app.get('/', function(req, res) {
res.send('Bem vindo!');
});
Roteamento
app.get('/', function(req, res) {
if (req.params.id) { // ... }
if (req.body.login) { // ... }
res.send('Bem vindo!');
});
Objetos req e res
nodemon
{
"name": "nodeapi",
...
"scripts": {
"start": "nodemon app.js"
}
}
yarn add -D nodemon
Métodos de Respostas
express.Router
const express = require('express');
const router = express.Router();
router.get('/', function(req, res) {
res.json([]);
});
module.exports = router;
module.exports
const express = require('express');
const usuario = require('./routes/usuario');
const app = express();
app.use('/usuario', usuario);
Body no formato JSON
const express = require('express');
const usuario = require('./routes/usuario');
const app = express();
app.use(express.json());
app.use('/usuario', usuario);
Body no formato JSON
router.post('/', function(req, res) {
console.log(req.body);
res.json({});
});
Insomnia
Desafio #01
Criar uma aplicação Node.js, no formato de API, aplicando os padrões REST que possua rotas de forma estruturada e montável para os seguintes recursos:
Desafio #02
Essa atividade deverá ser realizada individualmente, seguindo os passos abaixo:
Criar um repositório no GitHub;
Inicializar um repositório local;
Adicionar o repositório remoto do GitHub ao repositório local.