代码之家  ›  专栏  ›  技术社区  ›  Lester Celestial

我们如何将葡萄api资源分离到多个文件中?

  •  4
  • Lester Celestial  · 技术社区  · 12 年前

    嗨,我正在使用intridea的葡萄在ruby中开发一个简单的api。假设我们有这样的:

    class API_v1 < Grape::API
      resource :foo do
      end
    
      resource :bar do
      end
    
    end
    

    我怎么能做到 :foo :bar 是在单独的文件中吗?基本上,我想知道是否有可能拥有类似于rails控制器的东西,其中有多个文件来组织代码。

    我希望有人能给我一个如何实现这一目标的见解。

    2 回复  |  直到 11 年前
        1
  •  8
  •   Sergio Tulentsev    12 年前

    Ruby有 open classes ,所以您应该能够简单地将它们移动到单独的文件中。

    # foo.rb
    class API_v1 < Grape::API
      resource :foo do
      end
    end
    
    # bar.rb
    class API_v1 < Grape::API
      resource :bar do
      end
    end
    
        2
  •  8
  •   dB.    11 年前

    自述文件建议您使用 mount 以下为:

    class Foo < Grape::API
      resource :foo ... 
    end
    
    class Bar < Grape::API
      resource :bar ... 
    end
    
    class API < Grape::API
      mount Foo
      mount Bar
    end