考虑的config.ru
以下小节:机架:映射更复杂的路线
run Rack::URLMap.new(
"/" => Ramaze,
"/apixxx" => MyGrapeAPI.new
)
这工作。 (注意后缀xxx
)。每个去/apixxx/*
的请求都发送到Grape API端点,其他所有内容都由Ramaze应用程序提供。 (Ramaze建立在机架上。)
但是,我真的想要做的是地图/api
而不是/apixxx
。但是,Ramaze应用程序碰巧有/api/v1/*
下的端点。我想要的是将/api
以下的所有不在/api/v1
之下的请求都发送到Grape API(例如/api/somethingelse
),并且每个/api/v1/*
请求都转到Ramaze。
我已经尝试在URLMap中使用Regexps而不是字符串,但这不起作用。我尝试过URLMap和Rack :: Cascade的组合,并没有成功。
最理想的是,如果我可以使用正则表达式映射,或者如果我可以使用一块代码来映射,我会参加比赛。