首页 > 解决方案 > 空手道 POST 请求为 REST POST 事务返回无效的内容类型消息

问题描述

给定 url 'https://api-xxxxxxxxxxxxxxx/xxxxx/'

// 在空手道请求过程中,上述行中的“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 来解决此问题

标签: karate

解决方案


是的,看起来确实有问题。我们正在开发新版本,它看起来已经修复,也许您也可以确认:https ://github.com/intuit/karate/commit/19d1fe0ab33728044902f5f3a2f7d27b881c898d

您可以尝试切换到karate-jersey而不是karate-apache. 如果这不起作用,请通过测试即将发布的版本来帮助我们,以便我们可以更快地发布它: https ://github.com/intuit/karate/wiki/1.0-upgrade-guide


推荐阅读