我目前正在爲我的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