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

http://localhost:3000 - cannot get

Olá pessoal, tudo bem com vocês? Estou tendo problemas com os testes no Postman...

Meu servidor roda normalmente no VSCode, porém quando tento fazer alguma requisição no Postman, ele fica carregando infinitamente o "sending request..." e quando abro meu "http://localhost:3000" no navegador, apresenta a mensagem de "Cannot GET /"

Alguém pode me ajudar?

3 respostas

Olá Matheus, tudo bem?

O problema pode está relacionado à configuração das rotas no seu projeto. A mensagem "Cannot GET /" geralmente indica que não há uma rota definida para o caminho raiz ("/") no seu servidor. Mas como você não deixou nenhum trecho de código, deixarei alguns pontos que você pode verificar para tentar resolver esse problema:

  1. Verifique as Rotas: certifique-se de que você tem as rotas configuradas corretamente no seu arquivo de rotas principal (geralmente index.js na pasta de rotas). Você deve ter algo como:

    const express = require('express');
    const pessoas = require('./pessoasRoute.js');
    const categorias = require('./categoriasRoute.js');
    const cursos = require('./cursosRoute.js');
    
    module.exports = app => {
      app.use(
        express.json(),
        pessoas,
        categorias,
        cursos
      );
    };
    

    Certifique-se de que essas rotas estão sendo importadas e usadas no arquivo principal do seu servidor (geralmente server.js ou app.js).

  2. Rota Padrão: se você deseja que algo seja exibido ao acessar "http://localhost:3000", você pode definir uma rota padrão no seu arquivo de rotas principal:

    app.get('/', (req, res) => {
      res.send('Bem-vindo à API!');
    });
    
  3. Iniciar o Servidor: tenha certeza de que o servidor está sendo iniciado corretamente. No arquivo principal do servidor, você deve ter algo como:

    const express = require('express');
    const routes = require('./routes'); // caminho para o seu arquivo de rotas
    const app = express();
    const port = 3000;
    
    routes(app);
    
    app.listen(port, () => {
      console.log(`Servidor rodando em http://localhost:${port}`);
    });
    

Espero que essas dicas ajudem a resolver o problema, mas caso não resolva, gostaria que compartilhasse todo o seu projeto, usando o GitHub ou Drive do Google para que eu possa fazer testes.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Olá Armano! Tudo bem contigo?

Desculpa pela minha santa ignorância, mas não ainda não consegui encontrar o problema... Consegue me ajudar? Subi o repositório para o meu GitHub e você pode acessar por aqui: https://github.com/mattscarparo/3374-nodejs-express-sequelize/tree/arquivos-iniciais

solução!

Boa tarde, Matheus!

Não precisa pedir desculpas por nada, você está em processo de aprendizado, então é normal não conseguir resolver um problema de vez em quando.

O projeto que você compartilhou, na branch arquivos-iniciais apresenta duas pastas "models", e quando o seu service faz uma consulta ele busca os modelos na pasta "models" que está dentro de "src", que por sua vez está vazia.

Como solução para esse problema, recomendo que copie todos os arquivos do "models" que está fora da pasta "src", menos o "index.js", e cole dentro do outro, assim quando o service for buscar um modelo ele encontrará com sucesso.

Espero ter ajudado e caso tenha mais problemas estarei à disposição.

Bons estudos!