使用 Rest Assured multipart 將檔案上傳到 S3。


我們可以使用以下技術透過Rest Assured multipart將檔案上傳到S3−

  • Rest Assured具有預設的URL編碼功能。S3 URL的問題是它們包含特殊字元,例如%2A、%3D。由於URL編碼功能在Rest Assured中預設配置為true值,因此我們要求將其設定為false,以便在執行時特殊字元不會轉換為ASCII等效值。

    語法−

    given().urlEncodingEnabled(false)

  • Rest Assured將預設字元集附加到內容中。如果未給出內容型別,這會導致問題。在某些情況下,我們可能需要在標頭中提及內容型別。同時,Rest Assured會在傳送請求時將預設字元集附加到內容型別。這會導致意外行為。為了解決這個問題,我們需要為EncoderConfig類設定一個false值。

    語法−

    given().config(RestAssured.config().encoderConfig(encoderConfig().append DefaultContentCharsetToContentTypeIfUndefined(false)))

示例程式碼實現

given().
//setting urlEncoding to false
urlEncodingEnabled(false).

//upload file is of JSON type
header("Content-type", "application/json").

//setting class EncoderConfig to false
config(RestAssured.config().encoderConfig(encoderConfig().appendDefaultContentCharsetToContentTypeIfUndefined(false))).
body(Files.readAllBytes(Paths.get(payLoad.json))).
when().
put("endpoint").
then().
log().all().and()
.assertThat().statusCode(200);

更新於:17-11-2021

960 次瀏覽

職業生涯起飛

完成課程認證

開始
廣告
© . All rights reserved.