想知道是否有人对这些宝石有任何经验?
或者你能推荐一个更好的来帮助我为我的应用程序添加一个宁静的 API 吗?
谢谢。
这里有一些要结帐:
Grape - 有点像 Sinatra,但用于构建 API。建立在 Rack 之上,具有最小的依赖性。
Rocket Pants - 一组与 Rails 一起构建 API 的工具,受 Grape 启发,但具有更深的 Rails 和 ActionPack 集成
Rails::API - Rails 减去构建 api 不需要的东西。
我在几个项目中使用了 Grape,我发现它非常适合中小型 API,特别是如果您想在现有的 Rails 应用程序之上添加 API,更喜欢与 Rails 控制器干净分离并且仍然能够共享两者之间的模型逻辑。
就像 Sinatra 一样,这意味着定义端点是直截了当和灵活的,这可能是好事也可能是坏事。如果你不遵守纪律,在更大的 API 上事情会变得有点混乱。
相比之下,Rocket Pants 更加固执己见,它为您提供了更多的结构和开箱即用的功能。使用 Grape,随着 API 的增长,您将需要找到一种方法来自己重构和构建代码。
在 RailsCast 上有很多关于这个主题的信息: