RestAssured如何为指定multipart/form-data部分设置application/json内容类型
解决方法
RestAssured的multiPart方法提供了重载支持,可以单独为指定的multipart部分设置Content-Type,同时不需要手动设置multipart/form-data的请求头和boundary,RestAssured会自动处理请求头和边界值,避免手动设置导致的格式错误。
修正后的代码如下:
Response resp = RestAssured.given().baseUri(UPLOAD) // 不需要手动设置Content-Type头,RestAssured会自动生成正确的multipart头和boundary .multiPart("files",new File(System.getProperty("user.dir") +picPath)) // 第三个参数直接指定该部分的Content-Type为application/json .multiPart("JSON_DATA", JSON_DATA, "application/json") .post().then().extract().response();
说明:
- 你之前手动指定
Content-Type: multipart/form-data; boundary=--abcd的写法可以删除,RestAssured会自动生成符合规范的请求头和边界值,避免出现边界不匹配的异常 multiPart(String controlName, Object content, String mimeType)是RestAssured提供的重载方法,第三个参数就是对应multipart分片的MIME类型,设置后该分片的Content-Type就会变成你指定的application/json
内容的提问来源于stack exchange,提问作者DemonSlayer
相关产品推荐
相关产品推荐

