我目前正在为我的Rails后端构建一个Android应用程序。RESTful RAILS和Android HttpRequests
我创建了api_tokens_controller,当用户使用HttpPost从Android登录并在Rails用户表和Android共享首选项中保存该令牌时创建api_token。我能够验证这一点。
我想送api_token为PARAMS [:api_token]从我的Android应用程序与在初始登录后每个后续请求,并有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 /用户和HttpGet用户数据作为JSONObjects。问题是我不知道如何从Android应用程序发送api_token到HttpGet中的Rails。我假设,因为它是RESTful,我的HttpRequests必须对应轨道路线工作的方式。
问题:
是否有可能在JSONObject的发送则params的[:api_token]从Android应用到Rails中HTTPGET?
我的HttpRequests是否必须符合Rails的REST风格,或者我可以只使用HttpPost?
感谢
嗨汤姆,谢谢你的回答。通过移动应用程序,我必须发送数据(api_token)并接收每个请求的数据。我可以使用HttpPost发送登录信息,并在apitokenscontroller创建操作的同时,从rails接收api_token。我试图通过这个api_token去用户控制器发送它进行验证,并在一个请求中返回所有数据。我的问题是轨道路线的工作方式,其中http请求的类型(GET,POST,PUT等)和路线(/用户,用户/ 1等)确定行动。 – railslearner 2012-03-13 01:03:14
嗨汤姆,我一直在阅读更多,我认为你的答案可能是。我无法理解URL参数,因为或导轨RESTful路由。 HttpPost允许我在URL中没有任何改变的情况下发送params [],并且我认为HttpGet也应该有类似的东西。但是,如果我只能通过URL发送参数并将其指定为...:3000/users.json?api_token = token,是否必须在rails侧(在UsersController的索引中)指定params [:api_token]为预期?谢谢 – railslearner 2012-03-14 20:37:09
我验证了这个作品 – railslearner 2012-03-15 00:02:16