Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Sails.js静止不动_Javascript_Node.js_Rest_Sails.js - Fatal编程技术网

Javascript Sails.js静止不动

Javascript Sails.js静止不动,javascript,node.js,rest,sails.js,Javascript,Node.js,Rest,Sails.js,我正在尝试在Sails.js 0.9x中创建一个RESTAPI 我有一个控制器,如下所示: UsersController = { list: function(req, res){ var users [{username: "max"}, {username:'alison'}]; res.send(users); }, single: function(req, res){ var user = {u

我正在尝试在Sails.js 0.9x中创建一个RESTAPI

我有一个控制器,如下所示:

UsersController = {
    list: function(req, res){
            var users [{username: "max"}, {username:'alison'}];
       res.send(users);

     },
    single: function(req, res){
            var user = {username: 'max'};
            res.send(user);
         }

};
在不指定操作名称的情况下,如何使用HTTP方法和路由访问URL

比如说

HTTP GETmysite.com/users/将调用列表操作

httpgetmysite.com/users/1将调用单个操作

目前,它只在我调用时起作用(这不是我想要的)

HTTP GETtomysite.com/users/list将调用list操作


HTTP GETtomysite.com/users/single/1将调用single操作

创建一个重定向到其他操作的
索引
操作

UsersController = {
    index: function(req, res) {
        if(req.param('idOrWhateverYouHaveDefined')) {
           this.single(req, res);
        }else {
           this.list(req, res);
        }
    },
    list: function (req, res) {
        var users[{
            username: "max"
        }, {
            username: 'alison'
        }];
        res.send(users);

    },
    single: function (req, res) {
        var user = {
            username: 'max'
        };
        res.send(user);
    }

};

我认为这可能是一个更好的解决方案

创建/编辑config/route.js并明确定义路由及其相关操作


这真聪明!但它感觉有点黑客。根据Sails文档,这是正确的方法,比核心路由器覆盖更好。
module.exports.routes = {
// Standard RESTful routing

// If no id is given, an array of all users will be returned
'get /user/:id?': {
    controller    : 'user',
    action        : 'find'
}
'post /user': {
    controller    : 'user',
    action        : 'create'
}
'put /user/:id': {
    controller    : 'user',
    action        : 'update'
}
'delete /user/:id': {
    controller    : 'user',
    action        : 'destroy'
},

// Override the default index action (find) by declaring an "index" method in your controller
'get /user': {
    controller    : 'user',
    action        : 'index'
}

*/
};