Ruby on rails 读取Rails中的REST服务参数

Ruby on rails 读取Rails中的REST服务参数,ruby-on-rails,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3.2,我有一个Java REST API,如下所示: GET /dashboard/group/{group}/class/{class}/view/{view_by}/utilizations 我想在Rails和Controller中为其编写一个客户端,以访问其参数值等 例如在/dashboard/group/group\u elite/class/medium\u class/view/all/utilizations中 参数组、类和视图的值为组精英、中级和所有 我的问题是如何访问这些参数及其值

我有一个Java REST API,如下所示:

GET /dashboard/group/{group}/class/{class}/view/{view_by}/utilizations
我想在Rails和Controller中为其编写一个客户端,以访问其参数值等 例如在
/dashboard/group/group\u elite/class/medium\u class/view/all/utilizations中

参数
组、类和视图的值为
组精英、中级和所有


我的问题是如何访问这些参数及其值

好吧,假设您在控制器中构造要查询的URL,然后您可以使用它“解析并获取参数”:

这里实际上不需要Regexp。(您可以在控制台中执行复制粘贴,然后运行
put params_h
,它应该会输出您想要的内容(希望如此!)


如您所见,这段代码意味着参数跟在属性名后面:
/group/{value}
,而不像
/group/smthing/{group}

这取决于您的路线,如果您将其设置为
get'/dashboard/group/:group/class/:class/view/:view\u by/utilizations
,您将拥有以下参数:
params[:group]、params[:class]、params[:view\u by]
但是,如果你正在解析这个URL,你必须让你自己的REgexp来检测参数的值。嗯,现在有点困惑:取决于路由?但是如果我调用的是Java服务,那么它们就没有路由,对吗?所以我应该使用RegEx来读取这些参数?哦,好吧,这就是为什么我一开始就这么想的。你就像将HTTP请求与Rails服务器一起发送到另一个Java服务,对吗?如果是,那么是的,您需要一个Regexp来读取这些参数。您能提供一些带有参数的URL示例(最复杂的示例)吗?如果需要,我可以帮您编写Regexp;)谢谢,先生,我上面发布的是一个真实的示例。:)谢谢,也看看这个gem,你认为我们可以利用它的方法来帮助解析url吗?嗯,不,不需要这个Gem,如果你想安全地解析你的URL,只需使用URI模块:(然后你可以访问几种方法,比如
URI.path;URI.query;URI.host
等)
url = '/dashboard/group/{group}/class/{class}/view/{view_by}/utilizations'
ar = url.split('/')
params_to_check = [ :group, :class, :view ]
params_h = {}
params_to_check.each do |param|
  value_index = ar.index(param.to_s) + 1
  params_h[param] = ar[value_index] if ar[value_index].present?
end