Imagem do artigo Criando um CRUD com NodeJS e MongoDB: Validação dos dados recebidos

16.9. Criando um CRUD com NodeJS e MongoDB: Validação dos dados recebidos

Página 93 | Ouça em áudio

16.9. Criando um CRUD com NodeJS e MongoDB: Validação dos dados recebidos

Para começar, CRUD é um acrônimo para as operações básicas que podemos realizar em qualquer banco de dados: Create (criar), Read (ler), Update (atualizar) e Delete (deletar). Neste capítulo, vamos explorar como criar um CRUD usando NodeJS e MongoDB e, em particular, vamos nos concentrar na validação dos dados recebidos.

Por que a validação de dados é importante?

A validação de dados é um passo crucial no desenvolvimento de qualquer aplicação. Ela garante que os dados que estamos recebendo são do tipo e formato que esperamos. Isso é importante por várias razões. Primeiro, ajuda a proteger nosso banco de dados contra dados mal-intencionados ou corrompidos. Segundo, ajuda a manter a consistência dos dados, o que é crucial para a integridade do banco de dados. Terceiro, pode melhorar a experiência do usuário, fornecendo feedback útil quando os dados inseridos são inválidos.

Configurando o ambiente NodeJS e MongoDB

Primeiro, precisamos configurar nosso ambiente de desenvolvimento. Isso envolve a instalação do NodeJS e do MongoDB em nosso sistema. Após a instalação, podemos iniciar um novo projeto NodeJS e instalar os pacotes necessários. Para este tutorial, precisaremos dos pacotes express, mongoose e joi.

Criando o modelo de dados

Usaremos o mongoose para criar nosso modelo de dados. O mongoose é uma ferramenta que facilita a interação com o MongoDB a partir do NodeJS. Ele permite definir a estrutura dos nossos dados usando esquemas. Aqui está um exemplo de como podemos definir um esquema para um usuário:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const UserSchema = new Schema({
  name: {
    type: String,
    required: true
  },
  email: {
    type: String,
    required: true,
    unique: true
  },
  password: {
    type: String,
    required: true
  }
});

module.exports = mongoose.model('User', UserSchema);

Validação de dados com Joi

O Joi é uma biblioteca de validação de dados poderosa e flexível para JavaScript. Ele nos permite definir esquemas de validação com uma sintaxe clara e concisa. Aqui está um exemplo de como podemos usar o Joi para validar os dados de entrada para o nosso modelo de usuário:

const Joi = require('joi');

const UserValidationSchema = Joi.object({
  name: Joi.string().required(),
  email: Joi.string().email().required(),
  password: Joi.string().min(8).required()
});

module.exports = UserValidationSchema;

Integrando a validação de dados em nossas rotas

Agora que temos nossa validação de dados configurada, podemos integrá-la em nossas rotas. Aqui está um exemplo de como podemos fazer isso para a rota de criação de usuário:

const express = require('express');
const router = express.Router();
const User = require('../models/User');
const UserValidationSchema = require('../validation/UserValidationSchema');

router.post('/', async (req, res) => {
  const { error } = UserValidationSchema.validate(req.body);
  
  if (error) {
    return res.status(400).send(error.details[0].message);
  }

  const user = new User(req.body);
  await user.save();
  
  res.send(user);
});

module.exports = router;

Neste exemplo, primeiro validamos os dados de entrada usando nosso esquema de validação. Se a validação falhar, retornamos um erro 400 com a mensagem de erro. Se a validação for bem-sucedida, prosseguimos com a criação do usuário.

Conclusão

A validação de dados é um passo crucial no desenvolvimento de qualquer aplicação. Ela ajuda a proteger nosso banco de dados, mantém a consistência dos dados e melhora a experiência do usuário. Neste capítulo, exploramos como criar um CRUD com NodeJS e MongoDB e como integrar a validação de dados em nossas rotas usando o Joi.

Agora responda o exercício sobre o conteúdo:

O que significa o acrônimo CRUD e por que é importante a validação de dados em um CRUD com NodeJS e MongoDB?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Criando um CRUD com NodeJS e MongoDB: Tratamento de erros

Próxima página do Ebook Gratuito:

94Criando um CRUD com NodeJS e MongoDB: Tratamento de erros

5 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto