本博客是一系列教程的一部分,详细解释了SAP云平台后端服务的使用。它的灵感来自Mahesh Kumar Palavalli–感谢他
快速链接:快速参考
为什么要对OData服务进行版本控制?
通常,一个服务的使用就像一个公共API。它并不意味着要被一个人使用,因为他在需要的基础上请求服务,淘客返利软件,因为他想看看漂亮的xml他可以请求json格式,这种格式更易于阅读。json响应也不是要被人读取的
相反,物联网公司,服务是由程序或应用程序调用的。区别在哪里?一个人,偶尔调用一个服务,可以忍受结构上的变化。但是,只要以编程方式读取(解析)服务的响应,响应的结构就不能更改。从未?从未。否则程序或应用程序将中断此外,OData服务确实在所谓的元数据文档中公开了它们的结构(通过service/$metadata寻址),这就像一个契约,应用程序开发人员依赖它但我的服务是胡说八道…那不是我的问题但我能做什么呢?像往常一样:读我的博客。我在读书,但什么都不是…解决方案是:发布服务的新版本好主意,但我想这很复杂不,使用后端服务非常简单太好了,我想做没有问题了?
如何调用特定版本的OData服务?
这是通过将version参数添加到根URL来实现的:…/myservicename;v=2
在我的示例中:https://backend服务…/odatav4/DEFAULT/PRODUCTSERVICE;v=2/$metadata
很酷,很简单对,好的,我试过了,但是我得到一个错误:名为PRODUCTSERVICE,…且版本为2的API不存在不不,不是那么容易,你必须自己创建新版本
如何在后端服务中创建新版本?
操作说明如下:
使用版本1创建API
使用以下模型创建API
模型很难看目的是
注:如果您缺少关于如何创建API的指南,您可能需要查看此处
注意:如果你已经有一个API,你可以去后台服务驾驶舱,导航到你的API详细信息窗格,什么是云,去"文档"部分,选择一个动作来查看或下载模型文件
发布API后,看着它,大数据好不好,你会感到羞愧,云服务器免,因为你注意到了愚蠢的名字和打字错误。
尽管如此,世界上已有数百名应用程序开发人员基于您的API创建了应用程序。这样的UI5应用程序包含如下行:
我们可以看到我们模型中的打字错误被用于应用程序代码中。这是因为实体名和属性名在UI5中用于绑定(见这里的小示例)
我想修复我的API中的拼写错误如果修改API,UI5应用程序将无法工作,它将为空,因为找不到所有绑定
因此,您选择建议的解决方案:创建同一API的新版本
创建与版本2相同的API
创建包含以下CD的新文件
我们可以看到实体产品中引入了几个不兼容的更改:E、 g.实体名称、属性名称、数据类型、最大长度方面
此外,模型中增加了更多实体。但是他们不会破坏UI5应用程序
创建版本2:
转到后端服务驾驶舱并创建"新API"。在"名称"字段中,输入与上一步中创建的版本1相同的名称"Namespace"也必须相同输入版本2像1.0.2这样的版本控制是不可能的浏览到新的CD型号最后,按"创建API"
结果,驾驶舱显示两次相同的API,但版本不同
您的API现在有2个URL,具有不同的版本参数:
https://…backend service…/odatav4/DEFAULT/PRODUCTSERVICE;v=1/$metadatahttps://…backend service…/odatav4/DEFAULT/PRODUCTSERVICE;v=2/$metadata
您可以比较元数据,您会看到第二个版本看起来更好
好消息:您没有破坏任何UI应用程序您服务的数百名用户现在可以随时选择切换到新版本
摘要
要创建现有API的新版本,请按以下步骤进行:
创建新API->指定完全相同的名称(和命名空间)->指定递增的版本号