嘿,我正在尝试在我的REST服务器上有一个/create函数。我在C9.io上工作
var express = require("express")
var bodyParser = require("body-parser")
var cors = require("cors")
var Sequelize = require("sequelize")
var util = require("util")
var app = express()
app.use(bodyParser.json())
app.use(cors())
var sequelize = new Sequelize('authordb','root','',{
dialect : 'mysql',
port : 3305
})
var Author = sequelize.define('author',{
name : Sequelize.STRING,
email : {
type : Sequelize.STRING,
validate : {
isEmail : true
}
}
})
var Message = sequelize.define('message',{
subject : Sequelize.STRING,
content : Sequelize.STRING
})
Author.hasMany(Message, {onDelete : 'cascade'})
Message.belongsTo(Author)
app.get('/create', function(req,res){
sequelize.sync()
.complete(function(err){
if (err){
console.log(err)
}
else{
res.status(201).send('created all')
}
})
})
app.post('/authors',function(req,res){
var author = req.body
Author.create(author)
.complete(function(err){
if (err){
console.log(err)
}
else{
res.status(201).send('created author')
}
})
})
app.get('/authors/:id',function(req,res){
Author.find({
where : {
id : req.params.id
},
attributes : ['id','name','email']
})
.complete(function(err,authorDAO){
if (err){
console.log(err)
}
else{
// console.log(authorDAO)
// util.inspect(authorDAO)
var author = authorDAO.dataValues
res.status(200).send(author)
}
})
})
app.put('/authors/:id',function(req,res){
var newValues = req.body
Author.find({
where : {
id : req.params.id
}
})
.success(function(authorDAO) {
authorDAO.email = newValues.email
authorDAO.name = newValues.name
authorDAO.save(['email','name'])
.success(function(){
res.status(202).send('modified author')
})
})
})
app.delete('/authors/:id',function(req,res){
Author.find({
where : {
id : req.params.id
}
})
.success(function(authorDAO) {
authorDAO.destroy()
.success(function(){
res.status(202).send('deleted author')
})
})
})
app.post('/authors/:id/messages',function(req, res) {
var message = req.body
Author.find({
where : {
id : req.params.id
}
})
.success(function(authorDAO){
Message.create(message)
.success(function(messageDAO){
authorDAO.addMessage(messageDAO)
.success(function(){
res.status(201).send('create message')
})
})
})
})
app.get('/authors/:id/messages',function(req, res) {
Author.find({
where : {
id : req.params.id
},
include : {model : Message, as : 'messages'}
})
.success(function(authorDAO) {
var messages = authorDAO.dataValues.messages
res.status(200).send(messages)
})
})
app.listen(8080)错误是:
{ [SequelizeConnectionRefusedError: connect ECONNREFUSED]
name: 'SequelizeConnectionRefusedError',
message: 'connect ECONNREFUSED',
parent:
{ [Error: connect ECONNREFUSED]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
fatal: true },
original:
{ [Error: connect ECONNREFUSED]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
fatal: true } }发布于 2019-05-19 21:59:41
如果您正在使用MAMP PRO,并且您的配置文件看起来很好,但您仍然可以获得SequelizeConnectionRefusedError,请确保选中了选项Allow network access to MySQL。

发布于 2016-04-22 21:34:55
您正在绑定到端口3305,mysql通常在端口3306上,这可能无法解决问题,但这是值得研究的问题
发布于 2020-02-20 07:03:10
刚安装的MAMP 5.7
设置不再可用,但在使用默认的MAMP mySQL端口8889时进行连接。快乐的日子!
https://stackoverflow.com/questions/27880623
复制相似问题