1

我需要的:

  • 在 rspec 测试中发送 POST 请求
  • 带有原始 json 数据
  • 特定的标题
  • 除此之外,我的操作中还需要另外两个参数,这些参数通常是通过路由从 URI 生成的。

有什么建议么?

我知道我可以使用

post :action, 'raw data', 'CONTENT_TYPE' => 'application/json', 'custom-header' => 'value'

但是如何添加这两个参数?

更新:

我可以通过 curl 发送我需要的请求:

curl -v -H "Content-Type: application/json" -H 'custom-header: value' -X POST -d @data.txt http://url.of.my.app

@data.txt是一个包含原始数据的文件。我在上一个项目符号中提到的参数取自 url

4

1 回答 1

0

您可以在第三个参数中传递自定义内容。

post :action, { your: json }, { content_type: 'application/json', custom_header: 'my_header }

http://api.rubyonrails.org/classes/ActionDispatch/Integration/RequestHelpers.html#method-i-get

于 2013-07-18T15:06:05.130 回答