ruby-on-rails - 如果同时使用新的 Rails 应用程序作为 API 和经典的 MVP 应用程序,那么 DRY 令牌身份验证和 API 版本控制是如何完成的?
问题描述
我希望使用 Rails 6.1 构建一个新应用程序,其主要目的是为 Vue.js 前端和移动应用程序提供版本化 API,但它也需要作为 Web 应用程序提供的经典 Rails MVC 视图(主要用于组经理,而不是使用消费者 Vue 前端的个人消费者)。
我知道创建一个经典的 MVC Rails 应用程序允许控制器响应json
格式,这对于一个简单的、未版本化的 API 来说是开箱即用的。
但是,将以下内容添加到经典 MVC Rails 应用程序的 DRY 方法是什么:
- 用于传入 API 调用的单独的基于令牌的身份验证层(与用于 Web 应用程序的任何东西相比,可能是设计)?不确定 if-api-use-token-not-devise 开关在哪里处理?
- 命名空间/版本化 API,理想情况下 DRY-ly 在 Web 和 API 之间共享相同的命名空间控制器?或者换一种说法,在创建 API 的新版本 2 之后,如何配置 Rails Web应用程序以使用版本 2 API(同时为旧前端的用户保留 V1 API 活动)
解决方案
推荐阅读
- java - 设置瞬态对象变量而不在 Camunda 中序列化
- web - 有没有办法使用 traefik 将流量路由到非 dockerized web 应用程序
- android - CoroutineWorker 在重新打开应用程序后显示错误状态
- python - Get_loc 从 err 引发 KeyError(key)
- python - 为什么当我输入一些输入并按回车时,文本光标停留在最后一个输出行?- 这导致我在 CodeChef 上的回答是错误的
- java - 如何使用 pop() 反转堆栈并打印它?
- td-engine - TDengine 中 vgroup id 无效的原因是什么?
- stock - 指数化股票对数回报
- asp.net - ASP.Net 网站用户超时(由 StormInternet 托管)设置为 5 分钟 - 如何修复?
- ios - XCode:无法为旧项目编译 StoryBoard(ibtool 退出代码 10) - swift 3 和 pod