Karate 空手道支持验证管道分离响应和avro格式

Karate 空手道支持验证管道分离响应和avro格式,karate,Karate,我们有webservice,通过postman以二进制(avro格式)发送请求主体,并有一个管道分隔的响应。我们可以使用空手道发送此请求并获得有效响应,但我们观察到,默认情况下,空手道将内容类型设置为“application/octect stream”,而我们预期的内容类型为application/json。空手道使用application/octect流作为avro格式有什么原因吗 同样对于管道分离响应,空手道是否支持类似于json/xml验证的任何默认验证 例如:如果样本响应类似 |PDT

我们有webservice,通过postman以二进制(avro格式)发送请求主体,并有一个管道分隔的响应。我们可以使用空手道发送此请求并获得有效响应,但我们观察到,默认情况下,空手道将内容类型设置为“application/octect stream”,而我们预期的内容类型为application/json。空手道使用application/octect流作为avro格式有什么原因吗

同样对于管道分离响应,空手道是否支持类似于json/xml验证的任何默认验证

例如:如果样本响应类似

|PDT|! PRODUCT!|Item1|!SKUID!|sku123a|!DETAILS!|Itemname|itemnumber|price|!FINISH!|

空手道试图猜测内容类型,但这里显然需要帮助,请参阅文档中的
标题
关键字,您可以轻松设置它:


对于第二个问题,我建议您编写一个简单的实用程序,将该响应转换为JSON,然后您将能够用空手道进行各种很棒的验证。这个例子应该是不言自明的:

在使用空手道发送请求时,我确实用header关键字覆盖了内容类型。关于json实用程序,我们将看一看,并让您继续关注,当空手道看到二进制文件时,它将无法理解它是否是image/avro/exe等,这有意义吗?我们确实得到了有效的响应,所以我想这没问题