Atividade Back End

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 2

Atividade

Programação Back-End
Aluno: Henrique Corrêa da Costa
RA: 188050

Dentro do diretório, execute "npm init -y"


Execute "npm install express mongoose body-parser" para instalar o Express

// app.js

const express = require('express');


const mongoose = require('mongoose');
const bodyParser = require('body-parser');

const app = express();


const PORT = process.env.PORT || 3000;

// Middleware para o Body-parser


app.use(bodyParser.json());

// Conexão com o MongoDB


mongoose.connect('mongodb://localhost:27017/clientesDB', { useNewUrlParser: true, useUnifiedTopology: true
})
.then(() => console.log('Conectado ao MongoDB'))
.catch(err => console.error('Erro ao conectar ao MongoDB:', err));

// Schema e Model para Cliente


const ClienteSchema = new mongoose.Schema({
nome: String,
sobreNome: String
});

const Cliente = mongoose.model('Cliente', ClienteSchema);

// Rotas
app.get('/clientes', async (req, res) => {
try {
const clientes = await Cliente.find();
res.json(clientes);
} catch (err) {
res.status(500).json({ message: err.message });
}
});

app.post('/clientes', async (req, res) => {


const cliente = new Cliente({
nome: req.body.nome,
sobreNome: req.body.sobreNome
});

try {
const novoCliente = await cliente.save();
res.status(201).json(novoCliente);
} catch (err) {
res.status(400).json({ message: err.message });
}
});

app.put('/clientes/:id', async (req, res) => {


try {
const cliente = await Cliente.findById(req.params.id);
if (cliente == null) {
return res.status(404).json({ message: 'Cliente não encontrado' });
}

if (req.body.nome != null) {
cliente.nome = req.body.nome;
}

if (req.body.sobreNome != null) {
cliente.sobreNome = req.body.sobreNome;
}

const clienteAtualizado = await cliente.save();


res.json(clienteAtualizado);
} catch (err) {
res.status(500).json({ message: err.message });
}
});

app.delete('/clientes/:id', async (req, res) => {


try {
const cliente = await Cliente.findById(req.params.id);
if (cliente == null) {
return res.status(404).json({ message: 'Cliente não encontrado' });
}

await cliente.remove();
res.status(200).json({ message: 'Cliente removido com sucesso' });
} catch (err) {
res.status(500).json({ message: err.message });
}
});

// Iniciar o servidor
app.listen(PORT, () => {
console.log(`Servidor rodando na porta ${PORT}`);
});

Você também pode gostar