我想用 seneca-web (express) 创建 rest API。我找不到其中使用的路由文件的任何(完整)文档。我以这些例子为基础。假设我有一个名为 Task 的资源。我想要这些http方法:
- 获取/任务
- 获取 /tasks/:taskId
- 发布/任务
这是routes.js:
module.exports = [
{
prefix: '/tasks',
pin: 'role:api,path:*',
map: {
all: {
GET: true,
prefix: ''
},
':taskId': {
GET: true
}
}
},
{
pin: 'role:api,path:*',
map: {
tasks: {
POST: true
}
}
}
]
和我用于处理的 seneca 插件:
module.exports = function task (options) {
this.add({role: 'api', path: 'all'}, function (msg, respond) {
console.log(msg)
this.act('role:task,cmd:all', respond)
respond(null, [{name: 'First Task', description: 'Description of the First Task'}])
})
this.add({role: 'api', path: '*'}, function (msg, respond) {
console.log(msg)
this.act('role:task,cmd:single', {taskId: msg.args.params.taskId}, respond)
})
}
- 我不确定如何在这里分开 POST 和 GET 操作。
- 我发现路由的映射对象中的键被视为路径的一部分这一事实也存在问题,例如。GET /tasks/all 而不是 GET /tasks。
谢谢你的帮助。