首页 > 其他分享 >如何在 SAP Fiori Elements 应用的 manifest.json 里定义注解

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

时间:2023-07-29 16:47:27浏览次数:34  
标签:Elements 定义 数据源 manifest json UI Fiori annotations

在 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 的编写上。

标签:Elements,定义,数据源,manifest,json,UI,Fiori,annotations
From: https://www.cnblogs.com/sap-jerry/p/17590033.html

相关文章

  • 关于 Fiori Elements 应用 manifest.json 的 localURI 字段
    SAPFioriElements是一个开发框架,它提供了一种创建SAPFiori应用的标准化方法。这些应用具有一致的用户体验,并且具有适应各种设备和屏幕尺寸的能力。SAPFioriElements的设计目标是简化开发过程,降低维护成本,并提高应用的质量。在SAPFioriElements应用中,manifest.json文件用于......
  • SAP Fiori Elements 应用加载时的 url 参数 sap-ui-xx-viewCache=false
    SAPFioriElements是SAP提供的一种UI技术,其主要目的是提供一种快速、简单、一致且易于维护的方式来开发SAP用户界面。而sap-ui-xx-viewCache=false是一个URL参数,用于控制FioriElements应用的视图缓存。在SAPFioriElements中,视图缓存是一个可以提高应用性能的......
  • JSON格式问题
    引发了具有根本原因的异常Requestprocessingfailed;nestedexceptioniscom.alibaba.fastjson.JSONException:syntaxerror,positionat45,namestatus com.alibaba.fastjson.JSONException:syntaxerror,positionat45,namestatus原因是我写的格式不是json格式......
  • typeHandler解决JSONArray类型无法使数据入库的问题
     在java中,一个对象类往往会有很多用途,比如用于接口请求时的传参,或mapper入库时的传参,但请求接口需要的数据类型可能不能用于mapper插入数据库表。 例如在请求接口时,需要传递一个数组类型的字段,但数据库只能插入varchar类型,需要将数组类型的字段转为字符串类型。 可用typeH......
  • 【Mysql】处理Json
    Mysql中处理JsonJSON_EXTRACTselectjson_extract('{"name":"Zhaim","tel":"13240133388"}',"$.tel");返回结果"13240133388"selectjson_extract('{"name":"Zhaim",......
  • JSON.toJSONString将key变成了首字母小写的问题
    在一些请求接口传参时,往往需要把请求参数转为JSON字符串,但JSON.toJSONString会默认将key的首字母变小写的问题importlombok.Data;@Datapublicclasstest{privateLongId;}Testparams=newTest();params.setId(11);JSON.toJSONString(params);System.out.pri......
  • json格式
    {"positive_integer_range":{"url":"http://apis.juhe.cn/simpleWeather/query","method":"get","code_massage":"查询成功","params":{......
  • Java 对json排序
    Java对JSON排序在日常的开发中,我们经常需要将JSON数据进行排序,以满足业务需求或者提高查询效率。本文将介绍如何使用Java对JSON数据进行排序,并提供示例代码帮助理解。什么是JSON?JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,常用于前后端数据传输。它以......
  • 使用@JsonFormat引起的时间比正常时间慢8小时解决方法
    转:使用@JsonFormat引起的时间比正常时间慢8小时解决方法 @JsonFormat,默认情况下timeZone为GMT(即标准时区),所以会造成输出少8小时。改为北京时间,方式如下:@JsonFormat(pattern="yyyy-MM-ddHH:mm:ss",timezone="GMT+8")      ......
  • PHP 中优雅的将JSON/XML/YAML 等数据反序列化成指定的类对象
    这个小事情何以需要记上一笔?实在是因为当用了各种编程语言以后,发现系统I/O处,尤其对外的接口Interface最重要,它或许可以被称为Specification,规约。PHP是混合型编程风格的语言,不强求完全的OOP。但是代码不OOP化的话,又得不到更多的开发工具的支持。尤其在PHP中如果只是用数组结......