gpt4 book ai didi

ruby-on-rails - 使用 Rails 实现嵌套资源的 RESTful API 路由

转载 作者:行者123 更新时间:2023-12-03 09:27:48 29 4
gpt4 key购买 nike

假设我有一个嵌套资源,如下所示:

resources :authors do
resources :books
end

鉴于我已将 Devise 连接到我的 API 来对用户进行身份验证。

假设作者验证了自己的身份,我应该提供诸如 /books 之类的路由,还是应该坚持使用 /authors/:author_id/books 路由?

我背后的逻辑是,既然我可以确定谁登录了,提供 /books 是有意义的,而 /authors/:author_id/books 似乎有点过分,更适合管理员的 API...

有人可以阐明什么是最好的(更可持续的)方法吗?

最佳答案

如果您要使用/books,那么您只能使用 Rails 中的许多功能,并且必须编写额外的代码才能从作者那里获取数据。

我喜欢作者 /authors/:author_id/books 方法,因为您可以控制author_id 参数。假设您要使用诸如 friendly_id 之类的 gem那么您的网址将类似于 /authors/jsmith 并且在 jsmith 页面上您可以列出他的书籍,而无需转到 /authors/jsmith/books

如果您使用的是 devise,请通过在索引操作中调用 current_user 方法并在 Controller 创建操作中设置 current_user id(而不是表单隐藏字段)来保护每个用户页面。使用cancan以获得授权。

关于ruby-on-rails - 使用 Rails 实现嵌套资源的 RESTful API 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16736671/

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