簡體   English   中英

Rails制定了JSON API

[英]Rails make devise JSON API

我對如何將devise設置為JSON API感到困惑。

我看了看這個腳本 ,但是遇到了一些麻煩。

首先,我創建了一個controller / api文件夾,並放置了registrations_controller.rbsessions_controller.rb

然后我修改routes.rb

devise_for :users
namespace "api", :as=>:api do
  devise_for :users
end

registrations_controller.rb

class Api::RegistrationsController < Api::BaseController

  respond_to :json
  def create
    user = User.new(params[:user])
    if user.save
      render :json=> user.as_json(:auth_token=>user.authentication_token, :email=>user.email), :status=>201
      return
    else
      warden.custom_failure!
      render :json=> user.errors, :status=>422
    end
  end
end

但是,當我嘗試將post請求發送到http://localhost:3000/api/registrations/create ,它引發了錯誤

No route matches [POST] "/api/registrations"

我如何修改routes.rb ,以便可以發送post請求。

由於您已經創建了自定義控制器,因此需要為其指定路由器:

resources :registrations, only: [:create]

如果您不打算使用設計控制器,則可以禁用其路由器,但不要刪除它們。

devise_for :users, skip: :all

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM