使用 Rest Assured multipart 将文件上传到 S3。
我们可以借助以下技术使用RestAssuredmultipart将文件上传到S3-
RestAssured具有默认的URL编码功能。S3URL的问题在于它们包含特殊字符,例如%2A、%3D。由于URL编码功能在RestAssured中默认配置为true值,我们需要将其设置为false以便特殊字符在运行时不会转换为ASCII等效值。
语法-
given().urlEncodingEnabled(false)
RestAssured将默认字符集附加到内容中。如果没有给出内容类型,这会导致问题。在某些情况下,我们可能需要在标题中提及内容类型。同时,RestAssured在发送请求时将默认字符集附加到内容类型。这会导致意外行为。为了摆脱这种情况,我们需要为类EncoderConfig设置一个假值。
语法-
given().config(.encoderConfig(.append))RestAssured.config()encoderConfig()DefaultContentCharsetToContentTypeIfUndefined(false)
示例代码实现
given(). //将urlEncoding设置为false urlEncodingEnabled(false). //上传文件为JSON类型 header("Content-type", "application/json"). //将类EncoderConfig设置为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);