我们有一个不会生成任何 HTML 的 Rails 应用程序——它只是处理请求并以 JSON 格式响应。所以它基本上是我们的 web 应用程序(呈现 HTML 客户端)、iPhone 应用程序和 Android 应用程序使用的 API。
现在我们需要构建一个公共 API 并促进代码重用,我们想使用内部 API。
所以基本上我们需要调用这个内部 API 的 1-3 个端点,处理接收到的请求并返回数据。我希望得到一些设计建议。
这里有一些解决方案
从公共 API 控制器调用内部 API 控制器。然而,所有内部 API 控制器都呈现 json 而不是返回数据,因此可能会很棘手。
创建一个新的 Rails 应用程序,将其放在子域中并发出请求。延迟和跨域请求的可能问题。
将控制器中的所有代码提取到控制器中返回数据的方法中,并将这些方法用于内部 API 和公共 API(大量重构)