我正在努力使用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作为单独的参数提供?将它嵌入字符串看起来很糟糕。
答案 0 :(得分:1)
seconds参数标识请求的有效负载。 GET
没有有效负载,因为您在执行GET
请求时无法发送任何数据。
在get请求中,键/值有效负载由查询字符串(加上URI)表示,因此第一种方法是可行的方法。
如果您使用GET
,POST
,PUT
或DELETE
等其他方法代替PATCH
,则第二个参数代表有效负载请求。
patch "/resources/#{id}", { foo: "bar" }.to_json, {Accept: Mime::JSON}