0

Rails Web アプリケーションがあり、モバイル クライアント用の API を作成する必要があります。これには Sinatra Web フレームワークを選択します。しかし、Sinatra アプリに問題があり、リクエストのたびにすべてのデータ セッションが失われます。私のAPIは次のようになります(lib/api/core.rb):

module Api
  class Core < Sinatra::Base
    set :session_secret, 'secret'
    enable :sessions

    get '/foo' do
      content_type :json
      session['foo'] = 'some value'
    end

    get '/bar' do
      content_type :json
      session['foo']#everytime is nil
    end

  end
end

私の route.rb で、私はこれを書きました:

constraints :subdomain => 'api' do
  mount Api::Core => '/'
end

私はRails 3.2.8、Sinatra 1.3.3を使用しています

そして私の質問は、リクエスト間でデータを保存するにはどうすればよいですか(認証のために私が必要です)?

4

1 に答える 1

0

API はステートレスである必要があります。認証は通常、すべてのリクエストとともに送信されるトークンを使用して行われます。詳細については、RailsCast #352 APIの保護を参照してください。

于 2012-12-15T14:00:46.113 に答える