正如在標題中所述,我的sails應用GET請求到了特定的路由/控制器函數,在開發環境中返回帶有JSON的badRequest,但不是在產品中環境。爲什麼是這樣?Sails.js生產環境不會在badRequest上返回JSON響應,但是dev環境的確如
這裏是控制器功能:
index: function(req, res) {
async.auto({
companies: function(cb) {
User.findOneById(req.session.user.id)
.populate('companies')
.exec(function(err, user)
{
if(err) {
var badRequestData = { error: err };
return cb(badRequestData, null);
} else if(user.companies.length == 0) {
var badRequestData = { error: "This user has no associated companies." };
return cb(badRequestData, null);
}
cb(null, user.companies)
});
},
validateForNullCompanies: ['companies', function(cb, results) {
var nullCompanies = _.where(results.companies, { stripeAccountId: null });
if(nullCompanies.length > 0) {
var badRequestData = { error: "This user needs to authenticate stripe with their company." };
return cb(badRequestData, null);
} else {
return cb();
}
}]
}, function(err, results) {
if (err) {
return res.badRequest(err);
}
return res.ok();
});
},
有沒有原因不應該暴露不良的請求消息?暴露錯誤而不繞過這一點的最佳做法是什麼? –
這是舊的,但一個有效的迴應,所以我會接受。 – morcutt