【发布时间】:2020-05-06 06:50:33
【问题描述】:
我有一个简单的 POST 请求,它需要一个 json Content-Type 标头和一个类似的正文
{
oneNbr: "2016004444",
twoCode: "@@@",
threeNbr: "STD PACK",
sheetTitle: "010000",
codeType: "AF14"
}
当我在 Postman 中运行它时,它按预期运行,返回 200 状态和预期响应。
这是空手道中的相同脚本:
Scenario: Sample test
* def payload =
"""
{
oneNbr: "2016004444",
twoCode: "@@@",
threeNbr: "STD PACK",
sheetTitle: "010000",
codeType: "AF14"
}
"""
Given path '/my_end_point/endpoint'
And request payload
When method post
Then status 200
当我运行它时,它返回 {"code":"415","status":"Unsupported Media Type"}。控制台输出显示在 POST 期间设置了正确的内容类型。
即使我在脚本中专门设置了内容类型,仍然会返回 415,例如
And header Content-Type = 'application/json'
或
* configure headers = { 'Content-Type': 'application/json' }
感谢任何帮助。
【问题讨论】:
-
您能说出您的服务器正在接收什么内容类型吗?我建议在 Postman 控制台中查看 Postman 正在发出的完整请求/标头,并将其与 Karate 控制台中记录的请求进行比较。根据您的描述,您的服务器可能因其他原因而崩溃。
-
@Alex J 感谢您的建议。做到了这一点,并没有带来任何新的东西。还尝试了另一个休息工具 Advanced Rest Client 进行比较。 API 调用在那里运行良好。
标签: karate