2

我正在研究与我的 Ruby on Rails 应用程序一起构建平台 API 的最佳方法。我遇到了这个引用ticketee的问题,这是一个为Rails 3 in Action编写的示例应用程序。我正在查看他们构建的 API,我注意到他们没有在他们的 Ruby on Rails 堆栈中使用“respond_to”或任何类型的 JSON 生成函数来支持他们的 API。他们实际上是在 Ruby on Rails 之外使用 Sinatra 构建了他们的 API。这是最佳实践吗?这基本上不需要维护两个代码库吗?也许我缺少一些链接?

作为一个后续问题,如果这是最佳实践并且不需要开发人员维护两个代码库,那么在 Rails 控制器中使用 Sinatra 而不是“respond_to”方法或其他类型的 JSON 生成有什么优点?

4

1 回答 1

4

我们确实respond_to在第 13 章中使用了 API 的第一个版本,但是为了演示如何在第 18 章中安装 Rack 应用程序,我们为此构建了一个 Sinatra 应用程序。这样做并没有什么特别的好处,它更多地证明了a)有不止一种方法可以给API cat蒙皮,b)如何将应用程序安装到Rails中。

可以这么说,您不必维护单独的代码库,因为 Sinatra 应用程序将位于 Rails 应用程序的lib目录中。就好像 API 的 V2 只是在另一个目录app/controllers/api/v2或类似的东西中一样。

于 2012-04-07T17:07:35.580 回答