当前位置: 首页 > 知识库问答 >
问题:

在空手道DSL中,如何为有效的POST请求解析不支持的媒体类型

阮才俊
2023-03-14

所以我使用空手道中的特性创建了一个动态的POST请求。我手动测试了新创建的请求,它确实返回了200。但是,当通过空手道运行请求时,我得到的是一个415不受支持的媒体类型。

POST请求:

{
  "content": [
    {
      "assetId": "273108817",
      "country" : "US",
      "sourceSystemCode" : "GE_Clarify",
      "serviceRequestCode" : "Karate-Insert: 157264280",
      "serviceRequestTypeCode" : "servicerequestcorrective",
      "serviceRequestStatusCode" : "Started",
      "requester" : "Karate,DSL",
      "problem" : "Submitted Using Karate",
      "submissionTimestamp" : null,
      "sourceUpdateDate": "2017-09-13T15:53:51.597Z",
      "completionDate" : null,
      "dueDate" : null,
      "availabilityDate" : null,
      "remotely" : "0",
      "assetAvailability" : "Up",
      "facilityCode" : "US_294629"
    }
  ]
}

空手道句法

给定路径“Service Requests/”并请求ServiceRequestPostTemplate

  • 头授权=“承载”+方法post Then status 200时的令牌

下面附件中的错误消息。注意,我通过Swagger UI手动检查了请求,一切正常。我还把它作为空手道中的一个硬编码变量传入,它工作得很好。但是,使用“表”特性似乎会改变媒体类型。

共有1个答案

鲜于星波
2023-03-14

当您使用replace时,类型就被转换为String-这在文档中有明确的提及。

因此有两个选项:a)将替换的结果类型转换回JSON;b)手动设置content-type头。

希望有帮助!

 类似资料:
  • 我试图通过这样的获取方法将数据从我的React应用程序发布到Django REST API: 我总是收到一个“错误”的帖子http://127.0.0.1:8000/something/net::ERR_中止了415(不支持的媒体类型)”,响应如下所示:“response 我还尝试使用axios发送GET请求,并在控制台中打印响应: 但答案是: 你有办法解决那个问题吗?

  • 我试图通过XLIFF内容在以下函数的参数,我得到错误: {“message”:“此资源不支持请求实体的媒体类型'application/xml'。”,“exceptionMessage”:“没有MediaTypeFormatter可用于从媒体类型为“application/xml”的内容中读取类型为“xliff”的对象。”,“exceptionType”:“System.Net.Http.Unsu

  • 如何使用C#在SQL Server数据库上执行CRUD操作? 例如,假设有一个带有以下列的DB表: 我希望发布一个新员工的信息到该数据库。什么是实现这一目标的有效方法? 我当前的: 下面是模型: 当我用以下输入测试我的应用编程接口时: 我得到这个错误: HTTP/1.1 415不支持的媒体类型 数据库中没有插入任何内容。 如能提供任何指导,将不胜感激。 : 根据请求生成的原始错误消息: HTTP/

  • 给定url'https://api-xxxxxxxxxxxxxxx/xxxxx/' 和报头授权='Bearer'令牌 标题X-XSRF-header='xxxxxxxxx' 标题内容类型='应用程序/xxx。Pingixxxxx。checkUsernamePassword json' //在上面的一行中,“checkUsernamePassword”自动更改为(小写u) //即更改为“应用程序/x

  • 问题内容: 自数小时以来,我一直在尝试纠正http错误,但它仍显示不支持的页面。我在邮递员中添加标题。 这是我的Java代码 这是我的档案 问题答案: 通过和如何在响应流和请求流之间对对象进行序列化和反序列化。 将会发生的是,将从提供者的注册表中进行搜索,以查找可以处理的媒体类型。如果找不到,则Jersey无法处理该请求,并将发送415不支持的媒体类型。通常,你还应该在服务器端记录一个异常。不知道

  • 我已经创建了一个示例web服务来进行post调用。 我使用的是Jersey JAX-RS和Maven。