1
resposta

Por que extendemos o erro validação de erro requisição incorreta?

Olá! Gostaria de saber se existe algum motivo específico de extendermos validação de requisição incorreta. É por causa de um erro de validação ser um erro de requisição incorreta?

1 resposta

Olá, Luiz!

Excelente pergunta! Sim, você está correto.

No contexto do curso Node.js, quando estendemos a validação de requisição incorreta, estamos de fato lidando com um tipo de erro de validação que é, em essência, um erro de requisição incorreta.

A ideia por trás disso é que um erro de validação ocorre quando os dados fornecidos pelo cliente não passam em uma determinada validação que você definiu em seu código. Isso pode ser algo como um campo obrigatório que está faltando, um valor que está fora do intervalo permitido, um formato de dados inválido, entre outros.

Então, em outras palavras, um erro de validação é um erro de requisição incorreta porque o cliente enviou uma requisição que o servidor não pode ou não irá processar devido a dados inválidos.

Por exemplo, no código do curso, temos a classe ErroValidacao que estende a classe RequisicaoIncorreta. Isso significa que ErroValidacao é um tipo específico de RequisicaoIncorreta. No construtor de ErroValidacao, passamos uma mensagem personalizada para o construtor de RequisicaoIncorreta (usando super()), que por sua vez passa essa mensagem e um código de status para o construtor de ErroBase.

class ErroValidacao extends RequisicaoIncorreta {
  constructor(erro) {
    const mensagensErro = Object.values(erro.errors)
      .map(erro => erro.message)
      .join("; ");

    super(`Os seguintes erros foram encontrados: ${mensagensErro}`);
  }
}

Isso nos permite criar uma hierarquia de erros, onde cada tipo de erro tem suas próprias características, mas também herda características de seu tipo de erro "pai". Isso torna o código mais modular e mais fácil de gerenciar, pois podemos lidar com diferentes tipos de erros de maneiras diferentes, mas também reutilizar o código comum a todos os erros.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software