【问题标题】:Karate API Tests - API POST request unable to send body when Content-Type is application/jwt空手道 API 测试 - 当 Content-Type 为 application/jwt 时,API POST 请求无法发送正文
【发布时间】:2019-01-09 12:13:29
【问题描述】:

对于主体为 jwt 的 POST api,空手道无法发送内容类型为 application/jwt 的主体。

虽然我通过 Postman 执行相同的操作,但它可以工作。如果我遗漏了什么,请告诉我。

我的 API 请求是:

1 > POST "Sever URL"
1 > Accept-Encoding: gzip,deflate
1 > Connection: Keep-Alive
1 > Content-Length: 4959
1 > Content-Type: application/jwt
1 > Host: auth-sandbox.apiboitest.com
1 > User-Agent: Apache-HttpClient/4.5.5 (Java/1.8.0_144)

这里发送的正文没有通过: 给定 url DCRurl 并且标头 Content-Type = 'application/jwt' 并请求 payload_body_of_type_jwt 当方法 POST

【问题讨论】:

  • 您分享的示例没有 content-type 为 application/jwt

标签: karate


【解决方案1】:

尝试以下方法:

  • 查看您是否缺少邮递员可能发送的 Accept 标头
  • 在发出请求之前尝试将request 的值转换为字符串
  • 如果服务器不处理字符集,则在发出请求之前尝试* configure charset = null,默认情况下以UTF-8 传递

否则没有足够的信息来说明您的问题有什么问题。

【讨论】:

  • 请参阅邮递员请求。同样没有在空手道中得到复制。 POST /1/api/open-banking/v1.2/register/ HTTP/1.1 主机:api-sandbox.apiboitest.com 内容类型:application/jwt 缓存控制:无缓存 Postman-Token:bbfac0bf-da6c- 4def-b972-70a3bf6a6c4a eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImU1MlRMcVVuMXhxbnZrTUtZblhPZGRtODYtTSJ9.eyJncmFudF90eXBlcyI6WyJhdXRob3Jpem
  • @ruchiramore 这根本没有帮助,抱歉。尝试获得知道 api 的人的帮助。或尝试让 cURL 请求正常工作 - 然后很容易推导出空手道步骤
  • 谢谢彼得,我无法将整个 cURL 发送给您。 curl -X POST \ api-sandbox.apiboitest.com/1/api/open-banking/v1.2/register \ -H '内容类型:应用程序/jwt' \ -H '邮递员令牌:d8764654-626c-4071-9a92-0e30a99ef770' \ -H '缓存控制:无缓存' \ -d eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImU1MlRMcVVuMXhxbnZrTUtZblhPZGRtODYtTSJ9.eyJncmFudF90eXBlcyI6WyJhdXRob3JpemF0aW9uX2NvZGUiLCJyZWZyZXNoX3Rva2VuIiwiY2xpZW50X2NyZWRlbnRpYWxzIl0sIm 跨度>
  • 还让我知道内容类型“application/jwt”是否适用于空手道?
  • @ruchiramore 是的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-11
  • 1970-01-01
  • 1970-01-01
  • 2020-08-05
  • 2012-01-30
  • 2019-06-26
  • 1970-01-01
相关资源
最近更新 更多