簡體   English   中英

如何在 RestAssured 中設置邊界

[英]How to set boundary in RestAssured

我正在嘗試使用 RestAssured 創建多部分 POST 調用,但我不知道如何在那里獲得任何邊界。 我試過這段代碼,但它不起作用。

given().contentType("multipart/form-data")
            .config(config.multiPartConfig(multiPartConfig().defaultFileName(null).defaultBoundary("WebKitFormBoundary123")))
            .multiPart("file", new File("src\test\resources\picture.png"), "image/png")
            .multiPart("name", "picture.png")
            .multiPart("userId", 1426373, "text/plain")
            .log().all()
            .when().post(URL).then().log().all().statusCode(200);

日志

Request method: POST
Request URI:    URL
Request params: <none>
Query params:   <none>
Form params:    <none>
Path params:    <none>
Headers:        Accept=application/json
Cookies:        <none>
Multiparts:     ------------
            Content-Disposition: form-data; name = file; filename = picture.png
            Content-Type: image/png

            src\test\resources\picture.png
            ------------
            Content-Disposition: form-data; name = name
            Content-Type: text/plain

            picture.png             
            ------------
            Content-Disposition: form-data; name = userId
            Content-Type: text/plain

            1426373

想要的結果:

------WebKitFormBoundary123
Content-Disposition: form-data; name="file"; filename="picture.png"
Content-Type: image/png

src\test\resources\picture.png
------WebKitFormBoundary123
Content-Disposition: form-data; name="name"
                       
picture.png
------WebKitFormBoundary123
Content-Disposition: form-data; name="userId"

1426373
------WebKitFormBoundary123--

那么,如何在請求多部分表單中得到------WebKitFormBoundary123呢?

更新:如果我使用這個:

contentType("multipart/form-data; boundary=--WebKitFormBoundary123")

我會得到這個,它仍然看起來不一樣而且它不起作用

Request method: POST
Request URI:    URL
Request params: <none>
Query params:   <none>
Form params:    <none>
Path params:    <none>
Headers:        Accept=application/json; boundary=--WebKitFormBoundary123
Cookies:        <none>
Multiparts:     ------------
        Content-Disposition: form-data; boundary=--WebKitFormBoundary123; name = file; filename = picture.png
        Content-Type: image/png

        src\test\resources\picture.png
        ------------
        Content-Disposition: form-data; boundary=--WebKitFormBoundary123; name = name
        Content-Type: text/plain

        picture.png             
        ------------
        Content-Disposition: form-data; boundary=--WebKitFormBoundary123; name = userId
        Content-Type: text/plain

        1426373

您可以將其設置為內容類型的一部分

contentType("multipart/form-data; boundary=--MyBoundary")

我發現自動生成的邊界是我需要的,它沒有顯示在 Rest Assured 日志中,但它已發送。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM