goj*_*ygo 3 ruby api ruby-grape
你如何在葡萄中获得葡萄多路线参数?
我可以让这条路线起作用:
.../api/company/:cid
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试这个:
.../api/company/:cid/members
.../api/company/:cid/members/:mid
Run Code Online (Sandbox Code Playgroud)
我收到错误.
这是有效的代码.
resource 'company' do
params do
optional :start_date, type: Date, desc: "Start date of range."
optional :end_date, type: Date, desc: "End date of range."
end
route_param :cid do
get do
{company_id: params[:cid]}
end
end
Run Code Online (Sandbox Code Playgroud)
Ran*_*riX 10
class API::Company < Grape::API
resource :company do
route_param :cid do
desc "GET"
params do
# your params
end
get '/' do # => '.../api/company/:cid
# process get
end
resources :members do
desc "GET"
params do
# your params
end
get '/' do # => '.../api/company/:cid/members/'
# process get
end
route_param :mid do
desc "GET"
params do
# your params
end
get '/' do # => '.../api/company/:cid/members/:mid'
# process get
end
end
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
你可以这样做.或者,您可以创建两个不同的资源文件并将成员装入公司.像这样:
# api/company.rb
class API::Company < Grape::API
resource :company do
route_param :cid do
desc "GET"
params do
# your params
end
get '/' do # => '.../api/company/:cid
# process get
end
mount API::Members
end
end
end
# api/member.rb
class API::Member < Grape::API
resources :members do
desc "GET"
params do
# your params
end
get '/' do # => '.../api/company/:cid/members/'
# process get
end
route_param :mid do
desc "GET"
params do
# your params
end
get '/' do # => '.../api/company/:cid/members/:mid'
# process get
end
end
end
Run Code Online (Sandbox Code Playgroud)
希望有所帮助
| 归档时间: |
|
| 查看次数: |
3329 次 |
| 最近记录: |