Sails.js – 使用login,而不是id为REST api
我正在使用Sails.js框架,并有login
字段的User
模型。
我也有User
控制器,允许我发送请求
http://localhost:1337/user/:id
它返回给定的用户数据。 不过,我宁愿使用用户login,而不是用户名,所以我可以使用/user/mylogin
而不是/user/564a0aacecf0e8fb20c38a4e
。 有没有办法做到这一点,而无需自己创build路线(我喜欢帆如何处理所有的默认路线,包括/user/:id/comments
这样的关系,我不想重build所有这些只是使用login,而不是id)
你可以做/ user?login = username。 这是由帆的蓝图API处理: http : //sailsjs.org/documentation/reference/blueprint-api/find-where
如果你真的想要它,你可以拥有它。 但是你必须弄脏你的手。 有几种可能的方式。 但是我指着你看我最简单的方法。
-
在你的
config/routes.js
添加一个如下的路由。'/user/:myLogin': { controller: 'user', action:'getUserByUserLogin' }
-
在你的
api/controller/UserController.js
添加一个名为getUserByUserLogin
的动作。 您可以使用req.param("myLogin")
从控制器操作的请求对象访问myLogin
值。module.exports = { getUserByUserLogin: function(req, res){ var myLogin = req.param("myLogin"); /* Do whatever you want */ } };