首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在FeathersJS中写入嵌套路径参数

问在FeathersJS中写入嵌套路径参数
EN

Stack Overflow用户
提问于 2017-10-30 14:07:09
回答 1查看 1.8K关注 0票数 2

如何在羽毛js中生成多级路径参数,如下所示:

api.com/category/catergoryId/subCatergory/subCatergoryId

EN

回答 1

Stack Overflow用户

发布于 2017-11-01 02:10:44

以下内容摘自此羽毛FAQ条目

通常情况下,我们会发现它们实际上并不是必需的,最好是让你的路线尽可能的平坦。例如,像users/:userId/posts这样的东西--尽管对人类来说读起来不错--实际上并不像已经被现成的羽毛支持的同等的/posts?userId=<userid>那样容易解析和处理。此外,这也将更好地工作时,使用羽毛通过websocket连接,根本没有一个路线的概念。 但是,仍然可以通过在嵌套路由上注册现有服务并将路由参数映射到如下所示的查询参数来创建服务的嵌套路由:

代码语言:javascript
复制
app.use('/posts', postService);
app.use('/users', userService);

// re-export the posts service on the /users/:userId/posts route
app.use('/users/:userId/posts', app.service('posts'));

// A hook that updates `data` with the route parameter
function mapUserIdToData(hook) {
  if(hook.data && hook.params.userId) {
    hook.data.userId = hook.params.userId;
  }
}

// For the new route, map the `:userId` route parameter to the query in a hook
app.service('users/:userId/posts').hooks({
  before: {
    find(hook) {
      hook.params.query.userId = hook.params.userId;
    },
    create: mapUserIdToData,
    update: mapUserIdToData,
    patch: mapUserIdToData
  }  
})

现在转到/users/123/posts,将调用postService.find({ query: { userId: 123 } })并返回该用户的所有帖子。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47017301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档