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

如果内容类型是multipart/formdata,如何在空手道框架中发出POST请求?[副本]

上官霄
2023-03-14

我正在使用空手道框架为我的应用程序编写一个BDD(行为驱动开发脚本)。我想用content-type=multipart/formdata发出一个POST请求。当发出POST请求时,数据不会传递到后端应用程序。

{
"files[0].name": "file_1",
"files[0].type": "Audio",
"files[0].file": "classpath/folder/file.mp3",
"files[1].name": "file_2",
"files[1].type": "Video",
"files[1].file": "classpath/folder/file.3gp",
"location": "D:/files/"
}

Feature: POST call
  Background:
   # * url baseURI
  Scenario: Passing data in POST call
   Given url 'http://localhost:8080/request'
   And header Content-Type = 'multipart/formdata'
   And request read('classpath:folder/file.json')
   when method post
   Then status 200

希望保存数据,但我没有看到数据传递到后端应用程序。这是传递multipart/formdata的正确方式吗?

共有1个答案

林项明
2023-03-14

不可以,请参阅此处的文档:https://github.com/intuit/karate#multipart-file

我在下面做了很多假设,请参考文档和演示示例。

Given url 'http://localhost:8080/request'
And multipart file file_1 = { read: 'classpath:folder/file.mp3', filename: 'file.mp3', contentType: 'audio/mpeg' }
And multipart file file_2 = { read: 'classpath:folder/file.3gp', filename: 'file.3gp', contentType: 'video/mpeg' }
And multipart field location = 'D:/files/'
When method post
Then status 200
 类似资料:
  • 我有一个JSON数据文件 首先,我想读取这个数据,当wheels.value==Yes时,我想点击一个API,否则点击另一个API,我想知道如何在post请求中或从文件中传递多个参数。 Post请求数据如下: 上面的数据我正在邮递员中传递“表单-数据”。 提前致谢

  • 我正在尝试发出HTTPS post请求。 请说明是什么导致了错误

  • 我对斯威夫特还是个新手。我正在尝试制作一个HTTPS POST到HTTPS url的特定头。注意HTTPS而不是HTTP。我如何完成这件事?提前道谢。

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

  • 我需要关于适当的空手道请求的指示,以得到响应,这是一个设计的jpg文件。 我想我写了有效的请求,因为邮递员能够响应和返回的jpg文件预期。但同样的要求在空手道中不起作用。它返回一些java异常,这些异常没有为我澄清原因。 请帮助!

  • 问题陈述:每个服务都有一个单独的存储库。跨几个服务存储库使用公共框架的最佳方式是什么? 我们试图使用“空手道”创建一个应用编程接口测试自动化框架。在这里,我们希望创建一个框架(它可以被分发(例如:jar)),这样它就可以在所有的微服务项目存储库中使用。