我目前正在为我的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路由的工作方式相对应。
问题:
是否可以将Android应用程序中的params [:api_token]的JSONObject发送到HttpGet中的Rails?
我的HttpRequests是否必须与Rails的RESTful方式相对应,还是只能使用HttpPost?
由于
答案 0 :(得分:1)
如果我理解正确,那么如果使用GET,您只想将API令牌添加为URL参数,如下所示:
...:3000 / users.json api_token =记号
这将使params哈希中的api_token与POST数据相同。 RESTful方式是使用GET从API检索数据并使用POST发送数据,即更改后端数据,但如果您要返回带有请求的用户,那么GET是正确使用的方法