【发布时间】:2016-03-04 10:53:23
【问题描述】:
一个半星期以来,我一直在努力解决这个问题,我想知道如何从 Sequelize ORM 的查询中获取一个 .json 端点。目前它会记录一个 404 错误“GET /api/users 404 3ms”。您可能听说过 Sequelize 的文档非常有限,我在教程之后一直在搜索 github 存储库,但到目前为止还没有任何工作,所以我想我会在这里问。
一小段摘录(https://github.com/NatuMyers/A.M.E.N.SQL-Stack 上的代码):
// VARS -----------------------------
var express = require('express')
, bodyParser = require('body-parser')
, errorHandler = require('errorhandler')
, methodOverride = require('method-override')
, morgan = require('morgan')
, http = require('http')
, path = require('path')
, db = require('./models')
var router = require('express').Router();
var app = express()
// all environments
app.set('port', process.env.PORT || 3000)
app.set('views', __dirname + '/views')
app.set('view engine', 'jade')
app.use(morgan('dev'))
app.use(bodyParser())
app.use(methodOverride())
app.use(express.static(path.join(__dirname, 'public')))
// SEQUELIZE MODELS
var userVar = require('./models/user');
// dev only
if ('development' === app.get('env')) {
app.use(errorHandler())
}
// Make db, and make it listen
db
.sequelize
.sync()
.complete(function(err) {
if (err) {
throw err
} else {
http.createServer(app).listen(app.get('port'), function() {
console.log('Express server listening on port ' + app.get('port'))
})
}
})
// HTTP GET endpoints
module.exports = function() {
router.get('/', function(req, res, next){
res.json({ message: 'This works at localhost:3000/api but getting a list of users is a pain :(' });
});
// question
router.get('/users', function(req, res, next){
res.json(/* I need to make sequelize send a part of the User db here. */);
});
return router;
};
【问题讨论】:
标签: rest express sequelize.js