You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Devise Token Auth自定义User模型的额外POST端点路由?

为Devise Token Auth添加自定义用户路由

保留默认的Devise Token Auth路由的同时,你可以直接在config/routes.rb中添加自定义POST路由,指向custom_users/users_controller.rb中的三个动作:

路由配置示例

# 保留默认的Devise Token Auth端点
mount_devise_token_auth_for 'User', at: 'auth'

# 添加自定义POST路由,路径可根据业务需求调整
post 'auth/signup_email', to: 'custom_users/users#signup_email'
post 'auth/verify_mobile_signin', to: 'custom_users/users#verify_mobile_signin'
post 'auth/register_sports_complex', to: 'custom_users/users#register_sports_complex'

如果希望用命名空间规整路由结构,也可以这样写:

mount_devise_token_auth_for 'User', at: 'auth'

namespace :auth do
  post 'signup_email', to: 'custom_users/users#signup_email'
  post 'verify_mobile_signin', to: 'custom_users/users#verify_mobile_signin'
  post 'register_sports_complex', to: 'custom_users/users#register_sports_complex'
end

控制器注意事项

确保你的CustomUsers::UsersController正确继承并引入必要的Devise Token Auth模块,如果自定义动作需要验证用户token,需添加SetUserByToken concern:

class CustomUsers::UsersController < DeviseTokenAuth::ApplicationController
  # 若动作需要用户认证,引入该模块处理token校验
  include DeviseTokenAuth::Concerns::SetUserByToken

  def signup_email
    # 你的业务逻辑实现
  end

  def verify_mobile_signin
    # 你的业务逻辑实现
  end

  def register_sports_complex
    # 你的业务逻辑实现
  end
end

验证路由正确性

执行rails routes命令,检查输出结果中是否存在你定义的路由,确认请求方法、路径与控制器动作的对应关系是否正确。

内容的提问来源于stack exchange,提问作者Aftab Iqbal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 07:27:28