RestAssured接口测试GET请求设置Path Parameter报错如何解决?
RestAssured路径参数报错问题修复方案
报错原因
- RestAssured 仅识别URL中用
{参数名}格式包裹的内容作为路径参数占位符,你当前构造的apiUrl为https:/url:8332/v1/agreement/agreementId,路径末尾的agreementId是普通固定字符串,没有添加占位符标记,因此框架判定该请求不需要路径参数,你主动传入的agreementId属于冗余参数,触发报错。 - 额外拼写问题:根地址中的
https:/缺少一个斜杠,会导致后续请求地址格式异常。
解决方案
修改URL构造规则,将路径参数的位置替换为{agreementId}占位符,同时修正根地址的拼写错误即可,修改后的正确代码如下:
// 修正根地址的斜杠拼写错误 String baseUrl = "https://url:8332/v1/agreement"; // 路径参数位置用{参数名}设置占位符,供RestAssured识别替换 String apiUrl = baseUrl + "/{agreementId}"; given() .pathParam("agreementId", "1234") .queryParam("agreementType","CHQ") .when() .get(apiUrl) .then() .log().body();
内容的提问来源于stack exchange,提问作者Bonny
相关产品推荐
相关产品推荐

