我现在正在尝试制作一个移动应用程序,要求用户输入用户帐户信息来登录并从AWS中的数据库中获取数据(该Web应用程序是在Ruby on Rails中创建的)。
Ruby应用程序当前使用Devise Gem。接收用户信息的方式有两种:一种是电子邮件和密码,另一种是Google+登录。
作为支持内容,我还想构建一个Android移动应用程序。该应用程序应要求用户输入用户帐户信息,并以唯一定义的用户身份获得唯一可访问的数据。
我该如何做这个功能?我现在使用的是Android Studio,如果我能看到大图,那将非常有帮助!
最佳答案
您不能直接从移动应用程序(在您的情况下为android)访问数据库,您将为此构建一个api
。
所以基本的工作流程是
您有一个api端点说users/login
您使用user_name
,password
向此api发送发布请求
(ajax / json)
登录方法将使用devise
验证用户信息api
将返回适当的json响应(例如:用户对象为json)
因此,有几种编写api的方法。
1-最简单的方法是让控制器带有namespce api Ex:
#app/controllers/api/login_controller.rb
controller Api::LoginController < ApplicationController
def create
#some code to validate user input and response
end
end
2)更可持续的长期解决方案是使用某种
gem
进行构建。 Grepe曾经是这样的瑰宝,它支持诸如api versioning
之类的更多有用功能。