摆脱邮递员请求中的内容类型

时间:2018-01-11 20:37:16

标签: rest postman

我已经更改了我的应用,以便将SELECT yourFunction(<parameters>); 设置为Content-type,以防标头不存在并且现在尝试对其进行测试。

为此我使用Postman。但是,当我取消选中“标题”标签中的“内容类型”标题后,邮递员仍会发送application/json

有没有办法避免这种情况,只是不在Content-type=text/plain;charset=UTF-8标题中发送任何内容?

感谢任何帮助,谢谢

2 个答案:

答案 0 :(得分:4)

转到正文选项卡,从子菜单中选择“原始”。在子菜单中的“二进制”右侧,将有一个选项列表。从此列表中选择“文本”(不是“文本[文本/普通]”)。这将删除Content-Type标头。 enter image description here

答案 1 :(得分:1)

这里有两个令人担忧的事情。

  

以便将Content-type设置为application / json

您是否说要将请求主体解释为JSON,即使它们没有将其指定为JSON?为什么?!这可能导致各种各样的混乱,未来的框架可能会触发奇怪的默认值,而现在未能具体化将会引发未来。

您是否可能会混淆Content-Type和Accept?我看到这种情况发生了很多。

另外一点似乎很奇怪:

  

现在正试图测试它。

为什么要在浏览器中测试&#34;&#34;像这样? API可以通过集成测试轻松测试,您可以在控制器上触发几个标题,看看它是如何响应的。

it 'is fine' do
  post '/endpoint', params: params, headers: { 'Content-Type' => 'foo' }

  expect(response).to match_some_whatever
end

it 'is also fine I guess' do
  post '/endpoint', params: params

  expect(response).to match_some_whatever
end

测试可以更好地确保工作正常,否则无论何时更改东西,都要检查Postman中的所有内容。这需要时间,这是不现实的,并且会导致您定期推动生产问题。