点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我正在使用如下查询。
http://localhost:4004/analytics-output/ApplicationUsageByPeriod?$ filter = timestamp gt 2018-09-04T00:55:54Z
我为此呼叫提供了一个自定义处理程序。 我想检查查询参数的显示方式,所以我做了这样的事情(仅用于测试)。
module.exports = cds.service.impl(srv => { srv.on('READ','ApplicationUsageByPeriod',(req)=> { req.reject(409,JSON.stringify(req.data)); //req.reject(409,JSON.stringify(req.query)); }) });
但是我得到一个空的输出,如下所示。
<错误xmlns =" http://docs.oasis-open.org/odata/ns/metadata">409
{}
但是,如果我使用req.query而不是req.data,则会得到以下输出。 这似乎还好。
<错误xmlns =" http://docs.oasis-open.org/odata/ns/metadata">
409
<消息>
{" SELECT":{" from":{" ref":[" AnalyticsOutput.ApplicationUsageByPeriod"]}," columns":[{" ref":[" application"]},{" ref":[" applicationName" ]},{" ref":[" count"]},{" ref":[" timestamp"]}}]," where":[{" ref":[" timestamp"]},">",{ " val":" 2018-09-04T00:55:54Z"}"," limit":{" rows":{" val":1000}}}}
所以我无法理解为什么在使用req.data时为什么没有得到输出。 有人遇到过吗?
克里希纳,你好
req.data 不应包含查询选项。 实际上,我们目前还没有将它们直接添加到req对象中,但这是在路线图上。
同时,您可以从原始快递请求对象的 req ._。req.query 中获取它们。
最好,
塞巴斯蒂安
只想说:好问题,结构良好,易于理解,并带有有用的代码块,谢谢!
我认为req.data将提供在POST请求的有效负载(即主体)中发送的数据,而不是其他任何东西。 对我来说,即使没有看,也正是该API名称从同一空间中的其他库中获得的"感觉"。
我注意到文档位于 https://cap.cloud。 sap/docs/node.js/api#reqdata --- 说" 将所有查询参数以及http帖子正文捕获为单个对象",但我不确定这是正确的 ,至少不是我的经验-也许其中一个团队也可以在这里发表评论。
我也对此进行了测试,并且得到了我期望的结果:
并带有以下请求:
我得到以下输出:
干杯
嗨,克里希纳,
很抱歉,但该路线图无法从外部获得。
最佳,
塞巴斯蒂安
嗨,DJ,
您正确的认为" 将所有查询参数以及http帖子正文捕获为一个对象"是错误的。 感谢您指出这一点。
最佳,
塞巴斯蒂安
一周热门 更多>