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

如何在RestAssured设置特定内容类型的multipart中发送表单数据在正文中的POST

麹渊
2023-03-14

尝试在RestAssured中发送一个在正文中包含表单数据的POST请求,但不确定该如何执行。在《邮差》里,很好。

我试过这样的事情:

public Response create() {
    return super
            .given()
            .contentType("multipart/form-data")
            .multiPart("MetaDataOne", new File("file.txt"))
            .multiPart("MetaDataTwo", new File("file2.txt"))
            .basePath("/create")
            .log().all()
            .post()
            .then()
            .log().all()
            .extract()
            .response();
}

但我的文件似乎没有在请求中发送。

  • 内容-配置表单-数据;名称=元数据;文件名=文件
  • 内容类型:application/octet-stream

{“错误”:415,“说明”:内容类型应用程序/Octet-流不受支持}

共有1个答案

訾淇
2023-03-14

您是否可以尝试这样做,这应该将Content-Type覆盖为multipart/form-data而不是application/octet-stream

given().contentType("multipart/form-data").multiPart("MetaDataOne", new File("file.txt"), "multipart/form-data")
                .multiPart("MetaDataTwo", new File("file2.txt"), "multipart/form-data").basePath("/create").log().all()
                .post().then().log().all().extract().response();
 类似资料:
  • 我使用2个多部分(1个是文件,另一个是表单数据)作为我使用的默认内容类型,但是(多部分/表单数据),但是对于另一个,我需要使用 我不知道如何为特定的多部分/fpr数据设置内容类型=== 这就是我所做的- 但这是已经生成的请求-- 如何将第二个设置为application/json而不是text/plainm

  • 我需要使用MIME发送POST请求- 这是我对POST标题的默认配置:

  • 问题内容: 假设我有一个名为abhishek.txt的文件,其中包含以下行 我是,你叫什么名字。 现在我要写 阿比舍克 在“我是”之后,就像我是Abhishek,..如何直接在此特定位置书写内容。 问题答案: 您不能将数据插入文件中。您可以使用覆盖特定位置的数据。但是,插入操作需要更改其后的所有数据。对于您的情况,请尝试以下类似方法:

  • 问题内容: 因此,我在Struts2中使用freemarker模板来制定我的响应。但是,由于我也尝试使用taconite,因此需要使用“ text / xml”的内容类型发送响应。我似乎找不到使用freemarker指令设置内容类型的方法,而且我对Struts并不精通,无法知道是否有办法通过它来完成。 那么,我应该怎么做呢? 问题答案: 或者您可以在struts.xml中进行设置

  • 问题内容: 从Node.js服务器向浏览器发送脚本时,在Google Chrome浏览器中,出现以下警告: 资源被解释为脚本,但以MIME类型文本/纯文本传输 我用Google搜索了一下,发现这是服务器端的问题,也就是说,我认为在发送事物之前,我应该为事物设置正确的MIME类型。这是HTTP服务器的处理程序: 问题: 如何更正服务器端代码以正确配置MIME类型? (注意:我已经找到https://

  • 我试图使用RESTAssuret将“application/octet-stream”内容类型发送到RestAPI。但是它失败了,并抛出错误,比如:不知道如何将×××××编码为字节流。我曾尝试使用encoderConfig().encodeContentTypeas()方法,但此meyhod不适用于RestAssured。请建议是否有任何其他方法来解决这个问题。