如何在 SAP Fiori Elements 应用的 manifest.json 里定义注解

在 SAP Fiori Elements 应用中,manifest.json 文件是应用的主要配置文件,其中定义了应用的元数据、模型、服务等信息。其中,dataSources 区域负责描述应用使用的数据源,比如 OData 服务或者其他类型的后端服务。在 dataSources 区域的 settings 字段中,我们可以定义 annotations,它们是一种描述 OData 服务元数据的方式,可以增强服务的语义,并且可以驱动 UI 自动生成。

Annotations 是 SAP Fiori Elements 中的一个重要概念。它们提供了一种声明式的方式来定义 UI 的各种特性,包括但不限于字段的显示方式、排序、过滤等。

具体来说,annotations 可以定义:

  • 实体类型的一些属性,如标签、文本、提示等。
  • 实体类型的行为,如可创建、可更新、可删除等。
  • 实体类型的 UI 表现形式,如表格、表单、列表等。
  • 实体类型的关系,如导航属性、关联等。

在 dataSources 的 settings 中定义 annotations 的方式大概如下:

"dataSources": {
    
    
    "mainService": {
    
    
        "uri": "/sap/opu/odata/sap/ZDEMO_C_SALESORDERITEM_CDS/",
        "type": "OData",
        "settings": {
    
    
            "annotations": ["annotations1", "annotations2"]
        }
    },
    "annotations1": {
    
    
        "uri": "/sap/opu/odata/IWFND/CATALOGSERVICE;v=2;mo/Annotations(TechnicalName='ZDEMO_ANNO_MDL',Version='0001')/$value",
        "type": "ODataAnnotation"
    },
    "annotations2": {
    
    
        "uri": "/sap/opu/odata/IWFND/CATALOGSERVICE;v=2;mo/Annotations(TechnicalName='ZDEMO_ANNO_UI',Version='0001')/$value",
        "type": "ODataAnnotation"
    }
}

在上述示例中,我们定义了两个 annotations,分别叫做 “annotations1” 和 “annotations2”,它们分别对应着两个 ODataAnnotation 类型的数据源,这两个数据源指向的是两个不同的 annotation 文件。这些 annotation 文件被用来描述 “mainService” 数据源(即 OData 服务)的元数据。

例如,我们可以在 annotation 文件中定义一个实体类型的标签,如下所示:

<Annotations Target="ZDEMO_C_SALESORDERITEM_CDS.SalesOrderItem">
    <Annotation Term="com.sap.vocabularies.Common.v1.Label" String="Sales Order Item"/>
</Annotations>

这段代码定义了 SalesOrderItem 实体类型的标签为 “Sales Order Item”。在 Fiori Elements 应用的 UI 中,这个标签将被用作实体类型的显示名称。

通过这种方式,我们可以通过 annotations 定义出复杂的业务逻辑和用户界面,而无需编写大量的前端代码。这大大提高了开发效率,降低了开发难度,使得开发者可以将更多的精力放在业务逻辑的实现上,而不是 UI 的编写上。

猜你喜欢

转载自blog.csdn.net/i042416/article/details/131833792
今日推荐