Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Retorno de página padrão para requisição de rotas inexistentes (express)

Olá pessoal !

Antes do módulo express, adicionei um else para retornar uma página padrão, caso fosse feita alguma requisição à rotas diferentes das existentes ("/" e "/livros"):

// ...
      } else {
        let html = `
          <html>
              <head>
                  <meta charset="utf-8">
              </head>
              <body>
                  <h4>Isto (esta página) non ecziste!</h4>
              </body> 
          </html>       
        `;
      }

res.end(html) ;

// ...

Agora, com o express, como isso poderia ser feito? No "chutômetro" eu acabei fazendo da seguinte forma, até funcionou, mas gostaria de saber qual a forma correta:

// ...

// requisição da rota livros
app.get("/livros", (req, res) => {
  res.send(`
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
      </head>
      <body>
        <h1>Listagem dos livros (em construção...)</h1>
      </body>
    </html>
  `);
});

// requisição de rotas inexistentes
app.get("*", (req, res) => { 
  res.send(`
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
      </head>
      <body>
        <h4>Isto (esta página) non ecziste!</h4>
      </body>
    </html>
  `);
});

// ...
3 respostas
solução!

Elias, boa tarde!

O jeito está correto, quando você quer fazer manipulação de uma rota que não foi definida, você pode usar o * como rota, para manipulá-lo, nisso ele irá buscar todas as rotas inválidas!

Espero ter ajudado e bons estudos!

Boa tarde, Elías! Como vai?

Apenas um adendo! Embora essa forma funcione não é a melhor solução! Durante o curso eu apresento a forma correta de resolver essa questão e também o caso de apresentação de uma página de erro interno da aplicação! Siga em frente rumo à luz do conhecimento e logo mais vc verá isso aparecer no conteúdo!

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Olá Gabriel!

Show, obrigado por complementar, seguirei sim!

Atenciosamente.