路径参数作为带逗号的字符串传递,放心不能正确读取



我有一个代码,我在放心的GET请求中传递路径参数。但我看到路径参数没有被正确读取,我看到一些乱码文本被读取。实际上,我传递的字符串作为路径参数包含一个逗号在它。下面是我的代码。

ValidatableResponse response = given().header("Authorization", token).header("Content-type", "application/json")
.when().log().all().pathParam("CalendarId", testCaseBean.getCalendarId().toString())
.queryParam("from", testCaseBean.getStartDate()).queryParam("to", testCaseBean.getEndDate())
.queryParam("monthEnd", testCaseBean.getMonthEndBusinessDay())
.get(EndPoint.GET_CALENDAR_BUSINESS_DAY_INFO_DATE_PARAM).then().log().all();

我传递的路径参数是"AUS,EUR"读作AUS% 2eur。我将此路径参数作为CSV文件中的测试数据传递。下面是在控制台上形成的请求。

https://portculation-qa.us-east-1.m5435454345.easn.mss.com/master-data/v1/calendars/AUS%2CEUR?from=2022-11-01&to=2022-11-01&monthEnd=false

我期望的请求URI是https://portculation-qa.us-east-1.m5435454345.easn.mss.com/master-data/v1/calendars/AUS,EUR?from=2022-11-01&to=2022-11-01&monthEnd=false

您可以看到预期的URI和实际的URI之间的唯一区别是没有正确读取的乱码路径参数。有解决这个问题的办法吗?

试着添加这个:

.urlEncodingEnabled(false)
RestAssured.given()
.contentType(JSON)
.log()
.all()
.urlEncodingEnabled(false)

或:

RestAssured.urlEncodingEnabled = false;

默认设置为true。

最新更新