karate - 空手道 POST 请求为 REST POST 事务返回无效的内容类型消息
问题描述
给定 url 'https://api-xxxxxxxxxxxxxxx/xxxxx/'
- 并且 header Authorization = 'Bearer'+ token
- 并且标头 X-XSRF-header = 'xxxxxxxxx'
- 并且标头 Content-Type = 'application/xxx.pingixxxxxx.checkUsernamePassword+json'
// 在空手道请求过程中,上述行中的“checkUsernamePassword”自动更改为(小写 u & p)“checkusernamepassword”。
// 即在 POST 请求期间更改为 'application/xxx.pingixxxx.checkusernamepassword+json'
并请求{用户名:'12345xxx',密码:'12233xxx'}
当方法发布时
空手道响应是 { "code": "INVALID_CONTENT_TYPE" "message": Invalid content type xxxxx}
案例 1:当我使用 u & p 小写 Content_Type = 'application/xxx.pingixxxxxxx.checkusernamepassword+json' 时,我使用 Postman 重现了相同的错误响应
案例 2:当我在 Postman 中使用 U&P 大写 Content_Type = 'application/xxx.pingixxxxxxx.checkUsernamePassword+json' 时,我在 Postman 中得到了有效响应。
请说明如何在空手道中强制使用大写 U 和 P 或其他关键字的标题 Content-Type 来解决此问题
解决方案
是的,看起来确实有问题。我们正在开发新版本,它看起来已经修复,也许您也可以确认:https ://github.com/intuit/karate/commit/19d1fe0ab33728044902f5f3a2f7d27b881c898d
您可以尝试切换到karate-jersey
而不是karate-apache
. 如果这不起作用,请通过测试即将发布的版本来帮助我们,以便我们可以更快地发布它: https ://github.com/intuit/karate/wiki/1.0-upgrade-guide
推荐阅读
- php - 如何解决:stdClass 类的对象无法转换为 int
- python-3.x - 斯坦福 OpenNLP 仅提取与(已识别)组织相关的那些名称
- header - 蝗虫传球头
- php - Bootstrap 数据表页脚行
- javascript - 有没有办法在使用 Windows 剪贴板复制粘贴时找出复制文本的来源?
- javascript - webpack-dev-server 未被识别为内部或外部命令
- python - 迭代数据框以优化项目管理
- javascript - 第一次后多次调用 window.open() 失败
- c++ - C++ 错误(但为什么?)
- r - 在 R 的 XG-Boost 中使用 predict() 时出错