RESTful RAILS和Android Http请求

时间:2012-03-12 22:36:25

标签: android ruby-on-rails json

我目前正在为我的Rails后端构建Android应用。

当用户使用HttpPost从Android登录时,我创建了api_tokens_controller来创建api_token,并将该令牌保存在Rails用户表和Android共享首选项中。我能够验证这一点。

我试图在我的Android应用程序中将api_token作为params [:api_token]发送,并在初始登录后发送每个后续请求并让Rails验证:

在User.rb中:

def self.authenticate_with_api_token(api_token_from_mobile)
    user = find_by_api_token(api_token_from_mobile)
    if user.nil?
        return nil
    else
    return user
    end
end

如果用户存在,则将其他数据作为JSONObjects发送。

我在这里遇到了麻烦。我现在正试图让Android应用程序进入 ...:3000 / users和HttpGet用户数据为JSONObjects。问题是我不知道如何将api_token从Android应用程序发送到HttpGet中的Rails。我假设因为它是RESTful,我的HttpRequests必须与rails路由的工作方式相对应。

问题:

  1. 是否可以将Android应用程序中的params [:api_token]的JSONObject发送到HttpGet中的Rails?

  2. 我的HttpRequests是否必须与Rails的RESTful方式相对应,还是只能使用HttpPost?

  3. 由于

1 个答案:

答案 0 :(得分:1)

如果我理解正确,那么如果使用GET,您只想将API令牌添加为URL参数,如下所示:

...:3000 / users.json api_token =记号

这将使params哈希中的api_token与POST数据相同。 RESTful方式是使用GET从API检索数据并使用POST发送数据,即更改后端数据,但如果您要返回带有请求的用户,那么GET是正确使用的方法