我现在正在尝试制作一个移动应用程序,要求用户输入用户帐户信息来登录并从AWS中的数据库中获取数据(该Web应用程序是在Ruby on Rails中创建的)。

Ruby应用程序当前使用Devise Gem。接收用户信息的方式有两种:一种是电子邮件和密码,另一种是Google+登录。

作为支持内容,我还想构建一个Android移动应用程序。该应用程序应要求用户输入用户帐户信息,并以唯一定义的用户身份获得唯一可访问的数据。

我该如何做这个功能?我现在使用的是Android Studio,如果我能看到大图,那将非常有帮助!

最佳答案

您不能直接从移动应用程序(在您的情况下为android)访问数据库,您将为此构建一个api

所以基本的工作流程是


您有一个api端点说users/login
您使用user_namepassword向此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之类的更多有用功能。

10-07 13:49
查看更多