REST 的用户资源 API
User Resources for REST API
我正在为 rails
使用 devise
gem。
为用户生成的默认路由包括以下部分路由:
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
user_password PATCH /users/password(.:format) devise/passwords#update
PUT /users/password(.:format) devise/passwords#update
POST /users/password(.:format) devise/passwords#create
我想了解他们为什么不使用 /users/:id/password
等?
例如,我正在添加用户 preference
路由。我可以遵循相同的逻辑并制作类似 /users/preferences
的内容,但根据当前登录的用户,感觉应该是 /users/:id/preferences
。但是,我试图让一切保持相似,并且 devise
已经树立了先例,除非我改变它。
你可以做/users/:id/preferences
。但是,params[:user_id]
将(大概)等于 current_user.id
。所以,这有点多余。
相反,您可以只执行 /users/preferences
并从 current_user
访问相关的 id
。 (如果您喜欢这种东西,可以通过不将其包含在 url 中来掩盖当前用户的 ID。)
我正在为 rails
使用 devise
gem。
为用户生成的默认路由包括以下部分路由:
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
user_password PATCH /users/password(.:format) devise/passwords#update
PUT /users/password(.:format) devise/passwords#update
POST /users/password(.:format) devise/passwords#create
我想了解他们为什么不使用 /users/:id/password
等?
例如,我正在添加用户 preference
路由。我可以遵循相同的逻辑并制作类似 /users/preferences
的内容,但根据当前登录的用户,感觉应该是 /users/:id/preferences
。但是,我试图让一切保持相似,并且 devise
已经树立了先例,除非我改变它。
你可以做/users/:id/preferences
。但是,params[:user_id]
将(大概)等于 current_user.id
。所以,这有点多余。
相反,您可以只执行 /users/preferences
并从 current_user
访问相关的 id
。 (如果您喜欢这种东西,可以通过不将其包含在 url 中来掩盖当前用户的 ID。)