答案 0 :(得分:7)
以下是一些结帐:
Grape - 有点像Sinatra但是用于构建API。建立在Rack之上,具有最小的依赖性。
Rocket Pants - 一组用于与Rails一起构建API的工具,受到Grape的启发,但具有更深入的Rails和ActionPack集成
Rails :: API - Rails减去构建apis所不需要的东西。
我在一些项目中使用了Grape,我发现它非常适合中小型API,特别是如果你想在现有的rails应用程序之上添加一个API,更喜欢与rails控制器完全分离并且仍然是能够在两者之间共享模型逻辑。
就像Sinatra一样,这意味着定义端点是直截了当且灵活的,这可能是好事也可能是坏事。在较大的API上,如果你没有纪律,事情会变得有点混乱。
相比之下,Rocket Pants更加自以为是,它为您提供了更多的结构和开箱即用的功能。使用Grape,随着API的增长,您需要找到一种自己重构和构造代码的方法。
答案 1 :(得分:3)
在RailsCast上有关于此主题的大量信息: