0

我正在努力使用 Rack::Test 的 API 方法。提供资源参数,对于post方法是有意义的,但对于get,似乎没有。当我想获取具有明确id的资源时,我正在尝试发出请求:

get "/resources/#{id}", {Accept: Mime::JSON}

它确实有效,但如果我提供一个 id 作为第二个参数,它不会:

get '/resources', id: id, {Accept: Mime::JSON} 
# or
get '/resources', {id: id}, {Accept: Mime::JSON}
# omits the id - just fetches all the resources

如何提供 id 作为单独的参数?将其嵌入字符串中看起来很糟糕。

4

1 回答 1

1

seconds 参数标识请求的负载。GET没有有效负载,因为您在执行GET请求时无法发送任何数据。

在 get 请求中,键/值负载由查询字符串(加上 URI)表示,因此第一种方法是要走的路。

如果您不使用其他方法,GET例如POST、或,则第二个参数表示请求的有效负载。PUTDELETEPATCH

patch "/resources/#{id}", { foo: "bar" }.to_json, {Accept: Mime::JSON} 
于 2016-01-23T19:43:43.977 回答