Javascript 404使用postgres作为Db执行app.get时Node.js中出现错误

Javascript 404使用postgres作为Db执行app.get时Node.js中出现错误,javascript,node.js,postgresql,express,Javascript,Node.js,Postgresql,Express,我正在通过一个构建简单API的教程学习Node.js。 我有自己的postgres数据库,我正在尝试检索一个表,而不是在教程中使用示例数据库/虚拟数据库。我遵循教程中的所有内容,唯一的事情是我使用自己的数据库,并得到404NotFound错误 我的Index.js var express=require('express'); var router=express.router(); var db=require(“../querys”); router.get('/api/preferenc

我正在通过一个构建简单API的教程学习Node.js。 我有自己的postgres数据库,我正在尝试检索一个表,而不是在教程中使用示例数据库/虚拟数据库。我遵循教程中的所有内容,唯一的事情是我使用自己的数据库,并得到404NotFound错误

我的Index.js

var express=require('express');
var router=express.router();
var db=require(“../querys”);
router.get('/api/preference',函数(req,res){res.send('hi');})

module.exports=路由器如下更改此部分代码

exports.getAllPreference = function(req,res,next){
    console.log('h');
    db.any('select * from core.preferences')
      .then(function(data){
        res.status(200)
           .json({
               status : 'success',
               data : data,
               message: 'Retrieved ALL preferences'
           });
      })
      .catch(function (err) {
        next(err);
      });
}
删除此文件中的以下代码

module.exports = {
            getAllPreference= getAllPreference
}
更改index.js文件并删除以下行

module.exports = {
getAllPreference: getAllPreference
};

function getAllPreference(req, res, next) {};
和取消注释

module.exports = router;
添加以下代码以进行测试。在index.js文件中

router.get('/api/preference', function(req,res){
     res.send('hi');

};

将这部分代码更改如下

exports.getAllPreference = function(req,res,next){
    console.log('h');
    db.any('select * from core.preferences')
      .then(function(data){
        res.status(200)
           .json({
               status : 'success',
               data : data,
               message: 'Retrieved ALL preferences'
           });
      })
      .catch(function (err) {
        next(err);
      });
}
删除此文件中的以下代码

module.exports = {
            getAllPreference= getAllPreference
}
更改index.js文件并删除以下行

module.exports = {
getAllPreference: getAllPreference
};

function getAllPreference(req, res, next) {};
和取消注释

module.exports = router;
添加以下代码以进行测试。在index.js文件中

router.get('/api/preference', function(req,res){
     res.send('hi');

};


在像
一样返回之前,应该
console.log
err
。catch(函数(err){console.log(err);return next(err);})。这将告诉您错误的实际情况。当然不是404。数据库部分与HTTP错误404无关。@vitaly-t有任何输入吗?陛下?@oldmank这就是输入。关注HTTP服务部分,忘记数据库部分,因为它在这里是不相关的。您的HTTP服务有问题。@vitaly-t路由有问题吗,先生?我是新来的,先生..所以有点想找像您这样的专家分享一些见解您应该
console.log
err
然后像
一样返回。catch(函数(err){console.log(err);return next(err);})。这将告诉您错误的实际情况。当然不是404。数据库部分与HTTP错误404无关。@vitaly-t有任何输入吗?陛下?@oldmank这就是输入。关注HTTP服务部分,忘记数据库部分,因为它在这里是不相关的。您的HTTP服务有问题。@vitaly-t路由有问题吗,先生?我是新来的,先生..所以有点想找像您这样的专家,分享一下您在这方面的一些见解。另外,请说明用getAllPreference编写的console.log。您无法访问,getAllPreference函数。我想是这样的,先生..我习惯于asp.net webapi..第一次尝试我的hand-in节点..我现在很困惑..我的路线有问题吗?所以返回Welcome to Express,但不返回任何内容让我们做些事情来检查问题。在这里进行最后的尝试。另外,请说明用getAllPreference编写的console.log。您无法访问,getAllPreference函数。我想是这样的,先生..我习惯于asp.net webapi..第一次尝试我的hand-in节点..我现在很困惑..我的路线有问题吗?所以返回Welcome to Express但不返回任何内容让我们做些事情来检查问题。