sap-fiori - 自定义 OData 服务在 iOS SAP Cloud Platform 应用程序上缺少属性
问题描述
为了理解 OData <-> SAP Cloud Platform 链接,我使用适用于 Node.js 的 Jaystack OData V4 服务器 ( https://jaydata.org/jaystack-odata-v4-server ) 库开发了自己的最小 OData 服务.
首先,我添加了一个属性 - “ID”。
这是元数据文件:
<?xml version="1.0" encoding="UTF-8"?>
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
<edmx:DataServices>
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Northwind">
<EntityType Name="Repair">
<Key>
<PropertyRef Name="ID"/>
</Key>
<Property Name="ID" Type="Edm.String" Nullable="false">
<Annotation Term="Org.OData.Core.V1.Computed" Bool="true"/>
<Annotation Term="UI.DisplayName" String="ZSRE Return Document Number"/>
<Annotation Term="UI.ControlHint" String="ReadOnly"/>
</Property>
</EntityType>
<EntityContainer Name="DefaultContainer">
<EntitySet Name="Repair" EntityType="Northwind.Repair"/>
</EntityContainer>
</Schema>
</edmx:DataServices>
</edmx:Edmx>
当我使用此服务作为目标生成应用程序时,一切正常:
一旦我尝试向我的 OData 模型添加另一个属性 - 例如“myOtherProperty”,我在重新生成和运行应用程序时收到以下消息:
当我查看服务中的原始 JSON 时,它抱怨缺少的属性“myOtherProperty”显然在那里:
{"@odata.context":"http://localhost:3000/$metadata#Repair","value":[{"@odata.id":"http://localhost:3000/Repair('5065879381')","ID":5065879381,"**myOtherProperty**":2311671387},{"@odata.id":"http://localhost:3000/Repair('7651842623')","ID":7651842623,"**myOtherProperty**":3928577920}]
这是更新的架构:
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
<edmx:DataServices>
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Northwind">
<EntityType Name="Repair">
<Key>
<PropertyRef Name="ID"/>
</Key>
<Property Name="ID" Type="Edm.String" Nullable="false">
<Annotation Term="Org.OData.Core.V1.Computed" Bool="true"/>
<Annotation Term="UI.DisplayName" String="ZSRE Return Document Number"/>
<Annotation Term="UI.ControlHint" String="ReadOnly"/>
</Property>
<Property Name="myOtherProperty" Type="Edm.Int32"/>
</EntityType>
<EntityContainer Name="DefaultContainer">
<EntitySet Name="Repair" EntityType="Northwind.Repair"/>
</EntityContainer>
</Schema>
</edmx:DataServices>
</edmx:Edmx>
知道为什么 SDK 会抱怨缺少属性吗?似乎对于其他示例 OData 服务,这似乎不是问题,所以我猜它与操纵杆库有关,或者可能是一个小怪癖。
任何帮助将不胜感激!
解决方案
推荐阅读
- python - 这如何适用于 Python 中的乘法?
- javascript - 如何在不停止 Python 函数的情况下向 JS 发送返回值
- node.js - Puppeteer:仅为主页域添加基本身份验证标头,不适用于第 3 方请求
- node.js - 为什么异步等待不等待 - nodejs
- tensorflow - 训练后在 Keras 中修改自定义层
- flutter - 颤动,切换小部件在 showDialog 中无法正常工作
- django - 自定义用户/密码不正确时检索到的默认消息 djangorestframeworkssimple-jwt?
- function - 我需要知道的两个 Python 问题基础知识
- makefile - 难以将 $ORIGIN 添加到 LDFLAGS
- javascript - JavaScript 中奇怪的对象变量行为