如何在Rest assured中处理查询参数值中的特殊字符

8

我在使用Rest Assured时遇到了处理查询参数值中的特殊字符的问题,在下面的url中,我必须传递用管道符“|”分隔的值。 我使用值%7C编码符号,但服务调用没有给出匹配的响应,而是返回默认响应。

http://localhost:8080/api/abc?Id=7325860%7CXYZ

有趣的部分是,相同的url在任何浏览器REST客户端或其他基于Java的解决方案中都可以正常工作。

1个回答

27

REST Assured默认对查询参数执行URL编码。不过您可以轻松地禁用它:

REST Assured默认对查询参数执行URL编码。不过您可以轻松地禁用它:

given().urlEncodingEnabled(false).when().get("http://localhost:8080/api/abc?Id=7325860%7CXYZ");

查看文档获取更多信息。


1
这个答案今天救了我的命,非常感谢。 - Renato Vasconcellos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接