gpt4 book ai didi

javascript - SailsJS - 创建版本化 API,无需蓝图

转载 作者:行者123 更新时间:2023-12-03 11:40:40 32 4
gpt4 key购买 nike

我正在尝试弄清楚如何为我的应用程序创建版本化 API。根据本期https://github.com/balderdashy/sails/issues/322 ,我必须使用蓝图,但所有蓝图在我的项目中都被停用(我老板的愿望)。

我希望能够为任何版本提供任何 URL,例如 http://myapi.com/v1/my-custom-route 等等。

到目前为止,我发现的最好方法是将所有 Controller 复制到 v322AuthController.js 并映射所有路由,例如

'POST /v3.2.2/se-connecter'              : 'v322AuthController.perform_signin'

但我认为这是一个丑陋的把戏。我目前正在使用 Nginx,并且我的所有代码均使用 git 进行版本控制

如果您有任何想法,谢谢

凯23

最佳答案

你必须禁用所有蓝图吗?比您必须编写我们自己的所有路线。

如果您不想重复 Controller ,可以尝试以下操作:

config/routes.js

module.exports.routes = {

'post /:apiversion/se-connecter' : {
controller: 'AuthController',
action: 'perform_signin',
skipAssets: true
}
....
}

因此 Sails 将所有 */se-connecter 传递给“AuthController”处的“perform_signin”方法。在你的 Controller 中你有你的 api 版本:

AuthController.js

module.exports = {
perform_signin: function (req, res) {

var apiversion = req.param('apiversion');

if (apiversion === "0.2.0") {
....
}
}

}

关于javascript - SailsJS - 创建版本化 API,无需蓝图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26294058/

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