用于批处理请求的OPA Mockserver

2020-08-17 16:57发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我们正在使用ODataModel批处理操作(其中,我们在单个批处理操作中发送一个GET和一个PATCH调用)。 根据MockServer文档,请求中支持的方法是" GET" |" POST" |" DELETE |" PUT"。这是否也适用于批处理。以某种方式我在Mock服务器上运行该应用程序时注意到,它返回哑元 这样的请求的响应。如何在Mockserver中存入批处理请求?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我们正在使用ODataModel批处理操作(其中,我们在单个批处理操作中发送一个GET和一个PATCH调用)。 根据MockServer文档,请求中支持的方法是" GET" |" POST" |" DELETE |" PUT"。这是否也适用于批处理。以某种方式我在Mock服务器上运行该应用程序时注意到,它返回哑元 这样的请求的响应。如何在Mockserver中存入批处理请求?

付费偷看设置
发送
2条回答
追夢秋陽
1楼-- · 2020-08-17 17:29

您好,
我不知道您是如何处理" GET" |" POST" |" DELETE" |" PUT"请求的,但是您始终可以查看函数导入(请参见 https://help.sap.com/viewer/468a97775123488ab3345a0c48cadd8000 zh-cn/95e5b87804ef4059bb68dd511666d4e3.html )。
注意:RegExp中定义的路径是模拟服务器根文件中页面的路径。

请注意,他们使用RegExp定义路径。 这使路径变得灵活:由于URL中包含的参数,您可以不同地处理通过同一页面的请求。

当然,您不能直接处理批处理请求,因为它是请求的集合,而不是单个请求。 执行触发不同请求的操作时,您需要在Chrome开发者工具的"网络"标签中分析Web应用程序的请求。 单击批处理请求时,单击批处理请求后,便可以查看标题部分,以查看单个批处理请求中提出的不同请求。

如果您对以下内容感到困惑 我刚刚说的话,或者觉得它太复杂了,您总是可以进入manifest.json文件,并将参数" useBatch"设置为false。 这样,您将能够查看每个多带带的请求(通过"网络"标签中的Chrome开发者工具)。 当您完成模拟服务器的操作后,请记住将其放回原处。

根据我的经验,导入函数的最佳方法是简单地复制要发送的请求的JSON响应(在您单击批处理请求时,位于Chrome开发者工具的"网络"标签中,然后 JSON响应包含在{" d":_someJSONResponse_}中),并使模拟服务器了解您要发送的内容。

这里是一个例子:

 aRequests.push({
 方法:" POST",
 路径:"(。*)",
 响应:函数(oXhr,sUrlParams){
                                //采用URL的参数
 var oUrlParams = jQuery.sap.getUriParameters(oXhr.url);
                                 var oJSONResponse = {... your_JSON_Response ...};
                                //需要放置此位置,以便模拟服务器将该信息发送回去
                                //第一个参数:HTTP响应状态,第二个参数:响应类型,
                                //第三个参数:实际响应
                                 oXhr.respond(200,{
 " Content-Type":" application/json"
 },JSON.stringify({
 " d":oJSONResponse
 }));
                                //表示请求已处理。 如果省略或为假,则模拟服务器将
                                //使用其自己的虚拟响应来处理请求以及您自己的请求
                                 返回true;
 }
 });
  

aRequests与上面的链接中描述的相同。 我没有在这里使用RegExp,但是强烈建议这样做,因为模拟服务器的行为可能有所不同。
注意:" $"字符可能会引起一些问题。 我从未有过与该角色进行过RegExp的工作。

我希望这可以为您提供帮助!

-Alex

悻福寶寶
2楼-- · 2020-08-17 17:31

嗨,Alex,

我正面临类似的问题。 但是在我们的项目中实现方式有所不同。 我们可以打个电话吗?

一周热门 更多>