Heroku上的现有Ruby on Rails Web应用程序(PostgreSQL),Devise身份验证,需要为移动支持添加Rails API

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Heroku上的现有Ruby on Rails Web应用程序(PostgreSQL),Devise身份验证,需要为移动支持添加Rails API相关的知识,希望对你有一定的参考价值。

我有一个现有的RoR Web应用程序,它目前使用Devise进行身份验证。

我打算以某种方式为移动后端添加API功能。

您是否建议将API功能添加到Web应用程序并使用JWT,例如,启用移动身份验证。或者,您是否有两个单独的应用程序,一个Web应用程序和一个API,在Heroku上共享相同的Postgres实例?

我看到了两种方式的优点和缺点,但在我看来,将它分成两个应用程序将超过向Web应用程序添加API功能。也许,重新开始只使用API​​并添加移动应用客户端和Web应用程序客户端功能是最有意义的。

答案

首先创建一个新的API后端可能会更容易,但您必须复制模型中的所有应用程序逻辑并保持双方最新将是一个痛苦。如果您命名新API以便所有调用都在/api_v1或类似的东西下,您可以在相同的rails应用程序中执行此操作。 Here是一篇文章,展示了如何使用不同版本的API。

用于身份验证的JWT是一种很好的方式,并且Devise可以通过添加像devise-jwt这样的gem来支持它们,因为添加路由并自己处理令牌的创建和更新是很多工作。

对于API本身,您可能需要考虑将JSON:APIjsonapi-rails gem或GraphQLgraphql gem一起使用。这样,当有人想要使用你的API时,他们可以使用适配器作为他们的框架,可以与那种API交谈,而不必担心它返回的结构。这两个API都有适配器,可以使用Andrioid,ios,Ember,React和所有其他主要的前端框架。

以上是关于Heroku上的现有Ruby on Rails Web应用程序(PostgreSQL),Devise身份验证,需要为移动支持添加Rails API的主要内容,如果未能解决你的问题,请参考以下文章

Django 有没有像 Ruby on Rails 有 Heroku 这样的东西

Ruby on Rails 中的 Sendgrid / 电子邮件发送问题(托管在 Heroku 上)

如何从 ruby​​ on rails 上的现有远程 oracle 数据库中获取数据

推送到Heroku时Ruby on Rails错误

heroku 部署错误 ruby​​ on rails

ruby on rails Heroku 迁移错误