在Rails中编写API应用程序的最佳方法

时间:2015-03-23 03:57:33

标签: ruby-on-rails api rabl grape jbuilder

我计划使用 Rails4.2 启动纯API应用程序。作为API应用程序,外部客户端向应用程序发出请求,因此应用程序中不涉及任何视图。我想知道构建应用程序的最佳方法是什么。我应该使用像jbuilder / rabl这样的宝石,还是应该使用像Grape这样的宝石?哪个会更有效率?

1 个答案:

答案 0 :(得分:2)

如果您打算使用Rails,我建议您不要使用Grape。这就是为什么我这么认为的原因:

  1. 您可能已经知道如何构建Rails的一些事情 应用。所有这些知识都可以应用于构建API。 Grape,它不是用Rails构建的,最终会复制一个 许多Rails正在做的事情,有时会有一些微妙的差异,这只会导致混乱。
  2. Grape中的一些东西,例如异常处理和日志记录是完全不同的 Rails应用程序。如果您愿意,这可能会让您感到头疼 使用像New Relic这样的东西。
  3. 版本控制导致大量重复。你会好些的 使用像api-versions这样的非侵入式宝石处理此问题。
  4. rocket_pants中可能有一个选项,但根据我的经验,如果你想使用Rails,除非你有充分的理由去做,否则我会建议保持简单并坚持{{} 3}}或jbuilder