使用OData v4访问单个实体时出现问题

2020-09-01 01:27发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我使用CAP和Nod...

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

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


大家好,

我使用CAP和Node.js创建了一个简单的项目。 来源可在此处找到: https://github.com/ceedee666/rqk_ws19_v3 /。 我的项目仅包含一个称为SurveyResponses的CDS实体,该实体通过服务公开。 实体的CDS如下所示:

名称空间de.fhaachen.rqkws19;
 实体SurveyResponses {密钥ID:UUID;  orderid:整数;  orderDate:DateTime;  ...}
 

在使用SQL脚本向数据库中添加了一些虚拟数据之后,我可以使用以下URL访问数据库中的所有实体:/survey/SurveyResponses

在OData v4中,可以通过其标识符寻址单个实体。 这是 odata.org 上Northwind服务的示例: https://services.odata.org/Experimental/OData/OData.svc/Persons(0 )。 当我使用我的服务尝试相同操作时,例如 使用此URL/survey/SurveyResponses('E65A56807C68EFCA160009027C5C71B7'),我收到以下错误消息:

在位置17的'SurveyResponses('E65A56807C68EFCA160009027C5C71B7')'中找不到预期的uri令牌'ODataIdentifier'

当我尝试使用以下$ filter表达式访问实体时:/survey/SurveyResponses?$ filter = ID eq E65A56807C68EFCA160009027C5C71B7,我收到此错误消息

类型'SurveyService.SurveyResponses'中不存在属性'E65A56807C68EFCA160009027C5C71B7'

但是,如果我尝试使用过滤器访问orderid属性,那么一切都会按预期进行。/survey/SurveyResponses?$ filter = orderid eq 263的请求导致

 {
   " @ odata.context":" $ metadata#SurveyResponses",
   " @ odata.metadataEtag":" W/\" v7XePRvoicjsrRX1rhd6CPTx23lX + KlEgqRqmcp4pts = \"",
   "值":[
     {
       " ID":" E65A56807C68EFCA160009027C5C71B7",
       " orderid":263,
       " orderDate":" 2019-10-09T14:40:18Z",
       " netPromoterScore":4
       "评论":"",
       " marketingOptIn":否,
       " responseDate":null,
       "状态":1
     }
   ]
 } 

任何想法如何解决这个问题? 我是否错过了实体或服务的定义?

先谢谢了。
基督徒

5条回答
小熊yu生菜
2020-09-01 01:51

将正确格式的测试数据添加到数据库(dddddddd-dddd-dddd-dddd-dddddddddddddd)中之后,请求现在可以按预期工作。

使用URL/survey/SurveyResponses(E65A5680- 7C68-EFCA-1600-09027C5C71B7)结果为

 {
   " @ odata.context":" $ metadata#SurveyResponses/$ entity",
   " @ odata.metadataEtag":" W/\" v7XePRvoicjsrRX1rhd6CPTx23lX + KlEgqRqmcp4pts = \"",
   " ID":" E65A5680-7C68-EFCA-1600-09027C5C71B7",
   " orderid":263,
   " orderDate":" 2019-10-09T14:40:18Z",
   " netPromoterScore":4
   "评论":"",
   " marketingOptIn":否,
   " responseDate":null,
   "状态":1
 } 

基督徒

一周热门 更多>