同一个Rails应用程序中的API和基本应用程序

时间:2014-09-28 13:04:08

标签: ruby-on-rails api design-patterns

我在构建应用程序和堆栈时遇到了一些问题。

我的 控制器 目录现在看起来像这样:

  • -rw-r - r - @ 1 sesharim staff 779B Sep 24 22:01 application_controller.rb
  • -rw-r - r - @ 1 sesharim staff 66B Sep 28 15:21 events_controller.rb
  • -rw-r - r-- 1 sesharim staff 51B Sep 24 22:10 places_controller.rb
  • drwxr-xr-x 4 sesharim staff 136B Sep 28 14:52 v1

v1 目录几乎相同:

  • -rw-r - r-- 1 sesharim staff 73B Sep 28 14:52 events_controller.rb
  • -rw-r - r-- 1 sesharim staff 55B Sep 28 14:52 places_controller.rb

正如您所看到的,我有重复项,它具有相同的功能,但 控制器 中的控制器将用于用户,而中的控制器 v1 ,将用于API请求。

通过尝试在开发API时保持最佳实践,并将一般应用程序保存在一个地方我遇到了问题,如何以正确的方式组织。只是不想保留重复,并尽可能保持干燥。如何搭乘路线?有什么建议吗?

1 个答案:

答案 0 :(得分:0)

Ryan Bates在这个主题上有一个很棒的episode,他还解释了为什么它不违反DRY。您的API控制器负责不同的视图,因此虽然它们看起来相似并且命名方式相同,但这些控制器的用途与您的html控制器不同。