2015-02-05 45 views
0

我是API和Sinatra的新手,我想知道是否有任何好的宝石能够正确使用Sinatra对REST API进行版本控制。我使用的命名空间,现在是这样的:Sinatra API Versioning

namespace '/api/v1' do 
    #routes and stuff here 
end 

所以,如果我有一个版本2,我只需要创建另一个命名空间,我想。

+0

你能做到这一点,或者你可以做'命名空间 '/ API/V:版本' do'这将使你PARAMS [:版本],你就可以根据这个改变行为。任何一个都可以,这取决于版本之间的差异。无论如何,这些行为都在图书馆里,对吗? :) – Satya 2015-02-05 14:52:48

+2

看看葡萄宝石https://github.com/intridea/grape – ptierno 2015-02-05 15:23:58

回答

1

在你config.ru文件中,可以指定映射:

map('/v2') { run ClassNameV2 } 
map('/v1') { run ClassNameV1 }