gpt4 book ai didi

javascript - SailsJs 中的动态路由

转载 作者:行者123 更新时间:2023-11-29 15:25:35 28 4
gpt4 key购买 nike

我想创建一条动态路线。我创建了一个名为用户的 API。我需要可以访问/users/:nameofuser,就像自动创建的用户/id。

如何在这种类型的 url 中获取用户名,并执行 Controller 以在数据库中搜索它?

我尝试在 routes.js 中使用这段代码,但它对我不起作用:

'users/:name': 'UserController.getUser',

'users/all/:name': 'UserController.getUser'

我总是收到带有此文本的 404 错误:找不到具有指定 id 的记录。

最佳答案

users/:id 自动路由到 UserController.find。如果您的 Controller 中不存在此操作,它将使用默认的蓝图操作,这需要一个 ID 参数。要解决您的问题,您可以简单地覆盖 find 方法:

find: function (req, res) {
var name = req.param('id');
User.findOne({name: name}).exec(function(err, user) {
if (err) {return res.serverError(err);}
return res.json(user);
});
}

但是,如果您仍然想通过 ID 获取用户,您应该创建一个额外的路由:

'users/:name': 'UserController.getUser',

getUser: function (req, res) {
var name = req.param('name');
User.findOne({name: name}).exec(function(err, user) {
if (err) {return res.serverError(err);}
return res.json(user);
});
}

关于javascript - SailsJs 中的动态路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39593448/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com