Rails - 处理单个属性的restful更新的最佳实践

时间:2014-09-10 15:05:22

标签: ruby-on-rails rest

我有:用户资源,其中包含一些用户可以更新的典型属性(名字,姓氏,电子邮件...),但我也有一些典型用户无法更改的用户属性或者可以以不同的方式进行更改,例如角色 deactivated_at

非RESTful解决方案将是:

resources :users do
  member do
    put :change_role
    put :activate
  end
end

我正在编写API,我的目标是尽可能地坚持REST约束。所以我看到他们的选择是:

  1. 将所有内容发送到PATCH:更新,然后在该控制器操作中添加更多逻辑
  2. 公开这些属性的端点,并为此类情况添加新控制器,例如
  3. resources :users do
      resource :role, only: :update
    end
    
    1. 公开这些属性的端点并将它们路由到现有控制器的新操作
    2. resources :users do
        resource :role, only: :update, to: 'users#update_role'
      end
      

      但我仍然不确定我会做什么:激活?

      还有其他方法,在这种情况下推荐的做法是什么?

0 个答案:

没有答案