在HTTP请求中,我将一个令牌添加为query-param。 似乎mule正在编码这个值。 - 如果我添加参数,mule将以错误的方式对其进行编码。 - 如果我添加已经编码的参数,mule将对其进行双重编码,因此将不再可用。
所以问题是:是否存在阻止mule编码URL query-param的方法或解决方法?
参数示例:{AES} ZEoksxIg484magPtWwNUUQ ==; iT0kI2HsqGkh%2Bdc2baW2B4dNR2vouKkWQsDTdbMP8us =
答案 0 :(得分:0)
我的同事找到了解决方法,所以我在这里分享。
显然,您可以在HTTP请求之前设置变量并添加手动编码的值。我们称之为ourTokenVariable
在我上面的例子中%7BAES%7DZEoksxIg484magPtWwNUUQ%3D%3D%3BiT0kI2HsqGkh%252Bdc2baW2B4dNR2vouKkWQsDTdbMP8us%3D
之后,您可以直接在url路径中使用这个新创建的变量。例如:/example/someapi?someToken=[#flowvars.ourTokenVariable]
这样您就不再需要使用uri-param
或query-param
(其中mule对值进行双重编码)。该值将按照'采取。