Node.js Sails Js中的自定义路线

Node.js Sails Js中的自定义路线,node.js,sails.js,waterline,Node.js,Sails.js,Waterline,如何为sails应用程序中的子文件夹编写自定义路由。 我禁用了覆盖ORM的蓝图,在控制器中创建了一个文件夹后,我在route.js中添加了以下代码 module.exports.routes = { 'post v2/my/create': 'v2/MyController.create' }; 完成所有这些之后,我尝试调用API,但在route.js中显示404未找到错误 module.exports.routes = { 'post /v2/my/create': 'v2/MyContro

如何为sails应用程序中的子文件夹编写自定义路由。 我禁用了覆盖ORM的蓝图,在控制器中创建了一个文件夹后,我在route.js中添加了以下代码

module.exports.routes = { 'post v2/my/create': 'v2/MyController.create' };

完成所有这些之后,我尝试调用API,但在route.js中显示404未找到错误

module.exports.routes = { 'post /v2/my/create': 'v2/MyController.create' };

由于路径缺少前面的正斜杠,路由失败。

注意路径中的首字母/首字母-所有路径都应以中的一个开头 为了正常工作

假设控制器位于
/api/controllers/v2/MyController.js
,则控制器路径:

对于保存在子文件夹中的控制器文件,子文件夹是控制器标识的一部分:

“/do/homebook”:“stuff/things/HomeworkController.do”


有趣的是,即使启用了愚蠢的日志记录,失败的路由路径似乎也不会触发任何日志事件。也许这是一个错误?

这不是一个错误(没有前面斜杠的路径可以用于内部路由),但最好让它抛出一个警告。@sgress454您能详细说明一下吗?可能我不明白你所说的“内部路由”是什么意思——与express路由器相比,这指的是“内部路由”吗。您可以在Express路由器或虚拟(Sails)路由器(请参阅)上发出
request
事件,甚至只需更改策略中的
req.url
,然后调用
next('route')
。在上述任何一种情况下,没有前面斜杠的路由都是完全有效的。但是它很少被使用。