云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

金山云_阿里云域名https_超低折扣

小七 141 0

金山云_阿里云域名https_超低折扣

本博客旨在澄清在越来越多地使用SAP云平台后端服务时,您迟早会面临的疑问。

本博客旨在帮助您了解如何在CD中定义自定义类型,淘客小程序,以及如何在OData中使用自定义类型。

我们假设您已经通过本系列的两个教程来了解如何使用自定义类型使用SAP云平台后端服务创建API。

我保证这很容易–事实上,这仍然很容易。

在第一部分中,我们将讨论为什么以及如何在CD中创建自定义数据类型在第二部分我们会看到有一点…嗯…我们称之为差异你可能会惊讶,如果你看到它,如果你没有准备,那么你可能会想抱怨…我要说的区别是CDS建模和最终的OData模型

第1部分:如何定义自定义类型

但是首先让我们看看如何使用自定义类型。

让我们看一个示例模型:

正如您很容易看到的,重复的属性。城市、街道、数字(等)是不同语境下需要的典型信息。

显然,将这些重复出现的信息提取到一个单独的结构类型中是有意义的。CD就是这样做的:

注意:我选择的名字不好(后缀"Type"和后缀"Entity")但我在这里用它来让事情尽可能透明

类型和实体看起来非常相似。有什么区别?类型没有键字段,它只是一个单独的结构,世界人工智能,具有一组语义属性

自定义类型不一定需要是结构,它也可以是一个简单的类型,富含语义信息请看下面的例子。

类型定义只是一个内置CDS类型的包装器,但是有一些语义信息:

但是,当在实体中使用它时,它会使它更可读,不是吗?

顺便说一句,我的命名也不好,淘客返利app,这是为了让事情尽可能透明

在这个例子中,我们使用内联语法定义一个自定义类型。

首先是一个"正常"的外部类型定义:

它被内联定义的自定义类型使用:

这种自定义类型不能从实体外部使用。我的意思是,您不能创建第二个实体并引用该内联类型。

注意当使用内联类型定义时,不要忘记结尾处的分号,在右括号之后…。。创建API时一个常见的错误导致奇怪的错误消息

第二部分如何在OData请求中使用自定义类型

让我们把它放在一起创建一个API

这是模型:

创建API后,我们查看生成的OData服务的元数据文档

ProductEntity元数据在OData中是这样的:

呃,您能告诉我一些重要的方面吗?如您所见,我们很好地提取的自定义类型现在被展平。所有冗余的重复都返回

结构类型(顺便说一句,在OData中,这个概念称为复杂类型)被展平,与此命名约定相对应:

\

其中第二个属性名称取自自定义类型。自定义类型本身不用于命名。

好的,我知道了。但为什么它是相关的?因为在为POST请求构造json负载时,必须使用正确的属性名。如您所见,在这种情况下,您不能依赖您的CDS模型,您必须从OData元数据文档中获取属性结构和名称

当然,在使用后端服务驾驶舱的测试工具时,您会自动获得正确属性名称的建议,但是,在OData服务之上编写自己的应用程序时,您必须…。是的,什么?…. "我们必须……"什么?你得记住我的教程。当然,我们永远不会忘记他们…为什么这听起来很讽刺…?

对于简单的类型定义,没有可以展平的结构。那么让我们看看PharmProductEntity是如何在OData中翻译的:

?[问号]

我们可以看到类型定义已经解决,使用底层的内置类型和面,而不是包装类型定义

CustomerEntity元数据如下:

这里我们可以看到2级嵌套的自定义类型是如何扁平化的。

命名约定与预期一样:

\uInlineTypePropertyName>对于一个级别

\uInlineTypePropertyName>\uCustomTypePropertyName>

摘要

在本教程中,我们学习了如何在CD中定义自定义类型。

自定义类型可以是结构化的,也可以是简单的。它们可以单独定义(可重用)或内联定义。

第二部分展示了如何将自定义类型转换为OData。在OData中,自定义类型被展平,它们被合并到using实体中。使用API时,例如POST请求,有效负载属性必须与OData服务元数据相对应

对不起,有一个问题:如果OData中没有使用自定义结构类型,我为什么要定义它?问得好。谢谢。有答案吗?答案是有点复杂,非常技术和非常如果我说实话,我不得不说,我不知道细节。它与基础HANA数据库的特性有关。

再次抱歉,如果OData中没有使用自定义结构类型,返利机器人是真的吗,我为什么要定义它?因为CDS是一种抽象,对协议和数据库是不可知的那你为什么要在你所有的博客里解释协议的细节呢?因为如果你打算使用你自己的OData服务,你必须知道细节如果我是只做模特的角色呢?是的,物联网竞赛,你可以忽略所有这些细节。但你真的只想做模特而不想尝试吗?Humm…

链接

SAP帮助门户中的官方CD文档

官方OData规范类型:简单类型定义

非官方教程系列从这里开始

附录:全样本模型