2012-07-20 4 views
4

안녕하세요 저는 intridea의 포도를 사용하여 루비에서 간단한 API를 개발하고 있습니다.어떻게 포도 API 리소스를 여러 파일로 분리 할 수 ​​있습니까?

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

    resource :bar do 
    end 

end 

가 어떻게 :foo:bar에 대한 선언은 별도의 파일에 있는지 그것을 만들 수 있도록 :의 우리가이 있다고 가정 해 봅시다? 기본적으로 코드를 구성하는 파일이 여러 개인 레일 컨트롤러와 비슷한 것을 사용할 수 있는지 알고 싶었습니다.

나는 누군가가 나에게 이것을 달성하는 방법에 대한 통찰력을 줄 수 있기를 바랍니다.

답변

8

루비는 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 
+0

정확히 기본 지식! 감사! –

8

추가 정보는 mount을 사용하는 것이 좋습니다 : 내가 필요

class Foo < Grape::API 
    resource :foo ... 
end 

class Bar < Grape::API 
    resource :bar ... 
end 

class API < Grape::API 
    mount Foo 
    mount Bar 
end