我已经更改了我的应用,以便将SELECT yourFunction(<parameters>);
设置为Content-type
,以防标头不存在并且现在尝试对其进行测试。
为此我使用Postman。但是,当我取消选中“标题”标签中的“内容类型”标题后,邮递员仍会发送application/json
。
有没有办法避免这种情况,只是不在Content-type=text/plain;charset=UTF-8
标题中发送任何内容?
感谢任何帮助,谢谢
答案 0 :(得分:4)
答案 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中的所有内容。这需要时间,这是不现实的,并且会导致您定期推动生产问题。