包含文本的Rest调用'${';未按预期工作

包含文本的Rest调用'${';未按预期工作,rest,postman,soapui,Rest,Postman,Soapui,我是通过post调用向服务器发送数据的,当我的XML/JSON像${一样同时包含$'和{'时,服务器会拒绝该请求。但RestMan和PostMan也是如此。 可以通过修改任何请求正文将“${”放在一起来复制问题 Sample API :- https://reqres.in/api/users - Method- POST , headers---> Content-Type application/json; Request Body 1: - { "name": &

我是通过post调用向服务器发送数据的,当我的XML/JSON像${一样同时包含$'和{'时,服务器会拒绝该请求。但RestMan和PostMan也是如此。 可以通过修改任何请求正文将“${”放在一起来复制问题

Sample API :- https://reqres.in/api/users - Method- POST , headers---> Content-Type application/json;
Request Body 1: - {
"name": "morpheus",
"job": "leader"
}

Request Body 2:-
{
"name": "morpheus",
"job": "${leader"
}
对于请求正文1,将创建用户,但对于请求正文2,我将得到以下响应:

<title>Error</title>
Bad Request
错误
错误的请求
同样的请求主体也适用于postman和RestMan。 编辑:-我指定的API url只是用于测试rest服务的公共API。我无法共享实际代码,因此我使用公共测试API和soapUi复制了该问题。如果它通过restman正常工作,我不确定它如何与代码相关。我使用soapUi测试了许多API以验证它,问题似乎与${'仅限。我不确定,但可能soapUi内部使用它来检测表达式或其他东西。
如果有帮助的话,我调试了我的代码,每当我通过soapui提供“${”时,标题中的内容长度值将增加800-900个字符。

soapui将字符
${…}
视为

为了从字面上处理这个问题,您需要提供一个额外的美元符号:
$${something


将来,如果您在“请求”窗格中单击“原始”您将确切地看到发送的内容。

因此,问题似乎出在您的代码和发布数据的方式上。不幸的是,您没有共享这部分代码,因此无法帮助您。我进行了编辑并提供了必要的详细信息。我为API提供的URL是一个公共API,用于使用RESTClient测试REST服务,或者直接在应用程序中使用它们。问题似乎只有在${都在一起,这只在soapUi中出现。其他rest客户端也会像预期的那样给出响应。是的,这是我猜测的。谢谢确认。我在soapUi的Endpoint Explorer中尝试了同样的方法,效果很好。所以我查看了源代码,发现项目接口基于JAVA swing,Endpoint Explorer是ba因此,就rest而言,我们可以通过使用端点资源管理器来避免这个问题。