Rack::Test::Methods 使用get方法时设置id
Rack::Test::Methods setting id when using get method
我正在努力使用 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 作为单独的参数提供?将它嵌入字符串中看起来很糟糕。
seconds 参数标识请求的负载。 GET
没有负载,因为在执行 GET
请求时无法发送任何数据。
在 get 请求中,key/value 负载由查询字符串(加上 URI)表示,因此第一种方法是可行的方法。
如果您使用 POST
、PUT
、DELETE
或 PATCH
等不同方法而不是 GET
,则第二个参数表示请求的负载。
patch "/resources/#{id}", { foo: "bar" }.to_json, {Accept: Mime::JSON}
我正在努力使用 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 作为单独的参数提供?将它嵌入字符串中看起来很糟糕。
seconds 参数标识请求的负载。 GET
没有负载,因为在执行 GET
请求时无法发送任何数据。
在 get 请求中,key/value 负载由查询字符串(加上 URI)表示,因此第一种方法是可行的方法。
如果您使用 POST
、PUT
、DELETE
或 PATCH
等不同方法而不是 GET
,则第二个参数表示请求的负载。
patch "/resources/#{id}", { foo: "bar" }.to_json, {Accept: Mime::JSON}