我最近开始使用MEAN Stack来创建一个基本的应用程序,所以我是一个初学者,我设置了我的控制器和一切,我想发布,但是它返回api / user not found,有人可以查明问题并帮助我?谢谢。
Server.js:
var app = require ('./app/app');
var signupController = require ('./server/signup-controller');
app.post('api/users', signupController.create);
app.listen('8080', function(){
console.log('[OK] => HTTP Server listening on http://localhost:8080');
require('./app/db').init('mongodb://localhost:27017/shopialmedia' );
});
服务器端Controller(signup-controller.js):
module.exports.create = function (req, res) {
console.log(req.body);
}
客户端控制器(signup-controller.js):
app.controller('signupController', ['$scope', '$resource', function ($scope, $resource) {
var User = $resource('/api/users');
$scope.createUser = function () {
var user = new User();
user.email = $scope.userEmail;
user.password = $scope.userPass;
user.firstName = $scope.userFName;
user.lastName = $scope.userLName;
user.age = $scope.userAge;
user.$save(function (result){
$scope.user.push(result);
$scope.userEmail = '';
$scope.userPass = '';
$scope.userFName = '';
$scope.userLName = '';
$scope.userAge = '';
});
}
}]);
我的模块:
var app = angular.module('signupApp', ['ngResource']);
我的app.js:
var express = require ('express');
var app = express();
app.use(express.static('public'));
require('./routes')(app);
module.exports = app;
当我在我的网页上运行应用程序并提交信息时,它会返回api / user 404没有找到任何关于该做什么的建议,我非常感谢。正如我刚才所说的那样,请考虑到这一点。
答案 0 :(得分:1)
Server.js添加:
app.get('api/users', signupController.list);
signup-controller.js添加:
mongoose = require('mongoose'),
User = mongoose.model('User');
module.exports.list = function(req, res){
var searcher = req.query || {};
User.find(searcher)
.sort('-created')
.exec(function (err, users) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
}
res.json(users);
});
};
显然,您还必须使用可能名为main.js的文件连接到mongoose,然后您需要UserModel.js(或等效文件),您可以使用它来定义用户的属性等。猫鼬模式...
我的意思是,如果你想要一些更简单的东西,你会错过很多,你可以这样做:
module.exports.list = function(req, res){
var users = [];
res.json(users);
};
还认为你需要这个,这也是更好的格式:
var router = express.Router();
router.route('/')
.get(users.list)
.get(users.create)
app.use('/api/users', router);
不确定这应该做什么或./routes是什么:require('./routes')(app);