首页 > 其他分享 >SAP Fiori Elements 应用里的 ui5-local.yaml

SAP Fiori Elements 应用里的 ui5-local.yaml

时间:2023-08-13 12:55:05浏览次数:35  
标签:SAP Elements OData 应用程序 yaml ui5 sap 模拟 metadata

SAP Fiori Elements 是 SAP 的一种开发框架,用于快速构建 SAP Fiori 应用程序。SAP Fiori Elements 应用程序的一个重要方面是模拟服务器(mock server),它允许在本地开发环境中模拟 OData 服务,以便在没有真实后端服务的情况下进行开发和测试。ui5-local.yaml 文件用于配置本地开发环境,其中包括 SAP Fiori Elements 应用程序的 mock server 的配置。在本文中,我们将详细介绍 sap-fe-mockserver 的用法,并通过一个具体的示例来说明。

1. sap-fe-mockserver 的作用

sap-fe-mockserver 是 SAP Fiori Elements 应用程序的本地模拟服务器。它模拟 OData 服务,并通过读取 metadata.xml 文件和模拟数据文件来返回模拟的数据。这允许开发人员在没有实际后端服务的情况下进行本地开发和测试,从而提高了开发效率和灵活性。

2. 配置文件 ui5-local.yaml 解释

让我们先看一下给定的 ui5-local.yaml 文件的配置:

- name: sap-fe-mockserver
  beforeMiddleware: csp
  configuration:
    mountPath: /
    services:
      - urlPath: /sap/opu/odata/sap/SEPMRA_PROD_MAN
        metadataPath: ./webapp/localService/metadata.xml
        mockdataPath: ./webapp/localService/data
        generateMockData: true
    annotations: []
  • name: sap-fe-mockserver: 定义了模拟服务器的名称,这里为 sap-fe-mockserver。
  • beforeMiddleware: csp: 指定了在请求到达服务器之前要执行的中间件,这里是 Content Security Policy (CSP)。
  • configuration: 模拟服务器的配置项的开始标记。
  • mountPath: /: 定义模拟服务器的挂载路径,这里为根路径,即所有模拟数据请求都将以根路径开始。
  • services: 定义要模拟的 OData 服务的列表,可以配置多个服务。
  • urlPath: /sap/opu/odata/sap/SEPMRA_PROD_MAN: 定义模拟 OData 服务的 URL 路径。
  • metadataPath: ./webapp/localService/metadata.xml: 定义 OData 服务的 metadata 文件路径,metadata 文件描述了服务的结构和实体类型等信息。
  • mockdataPath: ./webapp/localService/data: 定义模拟数据文件的路径,这里包含了模拟的实际数据。
  • generateMockData: true: 布尔值,表示是否生成模拟数据。如果设置为 true,模拟服务器将根据 metadata.xml 自动生成模拟数据。如果设置为 false,则需要手动提供模拟数据。
  • annotations: []: 定义了要应用的扩展注解,这里是一个空数组,表示没有定义任何扩展注解。

3. 使用 sap-fe-mockserver 的实例

为了更好地理解 sap-fe-mockserver 的用法,我们将创建一个示例 SAP Fiori Elements 应用程序,并配置 mock server 来模拟 OData 服务。

步骤 1:创建 SAP Fiori Elements 应用程序

我们首先创建一个简单的 SAP Fiori Elements 应用程序。假设我们的应用程序是一个产品管理应用,使用 SEPMRA_PROD_MAN OData 服务。

步骤 2:配置本地开发环境

在项目根目录下,创建一个名为 ui5-local.yaml 的文件,并添加以下内容:

- name: sap-fe-mockserver
  beforeMiddleware: csp
  configuration:
    mountPath: /
    services:
      - urlPath: /sap/opu/odata/sap/SEPMRA_PROD_MAN
        metadataPath: ./webapp/localService/metadata.xml
        mockdataPath: ./webapp/localService/data
        generateMockData: true
    annotations: []

步骤 3:准备 metadata.xml 文件

在 webapp/localService 文件夹中创建 metadata.xml 文件,并定义 SEPMRA_PROD_MAN OData 服务的结构。metadata.xml 文件类似于以下内容:

<edmx:Edmx xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" Version="1.0">
  <edmx:DataServices xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:DataServiceVersion="2.0">
    <Schema xmlns="http://schemas.microsoft.com/ado/2008/09/edm" Namespace="SEPMRA_PROD_MAN">
      <!-- 定义实体类型和属性 -->
    </Schema>
  </edmx:DataServices>
</edmx:Edmx>

步骤 4:生成模拟数据

由于在 ui5-local.yaml 文件中设置了 generateMockData: true,模拟服务器将自动生成模拟数据,无需手动创建。生成的模拟数据将根据 metadata.xml 文件中定义的结构生成。

步骤 5:运行应用程序

启动本地开发服务器,并在浏览器中打开应用程序。现在,您将能够在应用程序中使用模拟的 OData 服务。

步骤 6:访问模拟数据

通过以下 URL,您可以访问模拟数据:

4. 总结

通过 sap-fe-mockserver,您可以在本地开发环境中模拟 SAP Fiori Elements 应用程序的 OData 服务。这使得开发人员能够在没有实际后端服务的情况下进行开发和测试,从而提高了开发效率。在 ui5-local.yaml 文件中配置 sap-fe-mockserver,并结合 metadata.xml 文件和自动生成的模拟数据,您可以快速搭建一个本地开发环境并轻松进行应用程序的开发和调试。

标签:SAP,Elements,OData,应用程序,yaml,ui5,sap,模拟,metadata
From: https://www.cnblogs.com/sap-jerry/p/17626408.html

相关文章

  • yaml-cpp生成yaml文件及解析yaml文件
    1) 源码编译及安装获取源码$git clone https://github.com/jbeder/yaml-cpp.git$cd yaml-cpp && mkdir build && cd build && cmake .. && make && make install使用样例:由于yaml格式文件与xml和json格式的文件类似,采用树形结构。Yaml对于树节点定义为No......
  • YAML语法搞定ansible playbook
    这个页面提供一个正确的YAML语法的基本概述,它被用来描述一个playbooks(我们的配置管理语言).我们使用YAML是因为它像XML或JSON是一种利于人们读写的数据格式.此外在大多数变成语言中有使用YAML的库.你可能希望读Playbooks实践中如何使用的.基本的YAML对于Ansibl......
  • properties和yaml加载list
    properties和yml加载list方式一:shuhai:test:list:12,13,14@Value(“#{‘${shuhai.test.list}’.split(‘,’)}”)privateListlist;@Value(“${shuhai.test.list}”)privateListlist;方式二:shuhai:test:list:>121314@Valu......
  • Yaml语法
    世事变幻无常,而近乎永恒不变者,唯你我头上的同一片星空。Wherethereisnodesire,therewillbenoindustry.哪里没有欲望,哪里就不会有勤奋。一、YML是什么YAML(YAMLAintMarkupLanguage)是一种标记语言,通常以.yml或者.yaml为后缀的文件,是一种直观的能够被电脑识别的数......
  • 什么是 SAP UI5 XML 视图里的 customData
    下面是XML视图里的代码:<core:FragmentDefinitionxmlns:core="sap.ui.core"xmlns="sap.m"><Column><Texttext="{i18n|sap.suite.ui.generic.template.ListReport|STTA_C_MP_Product>xfld.Rating}"......
  • YAML入门
    YAML速记在HydroOJ的时候,配置客观题遇到了此类文件格式。产生兴趣,简单学一下。学习参考视频:BV1yL4y1T7Pr什么是YAMLYAMLAin'tMarkupLanguage。YAML不是一种标记语言。是一种可读性高,用以表达数据序列化的格式文件后缀通常为 .yaml或.ymlYAML的语法规则使用缩进表......
  • PyYAML的使用
    YAML是一个被广泛使用的数据序列化和配置语言,作为一个开发者,总是不免和它打交道。但处理YAML文档,尤其是使用PyYAML的过程总是非常痛苦。这篇文章分享我在Python下使用PyYAML的技巧和代码片段,并介绍几个相关的库。注意:本文中的代码仅保证在Python3下正常工作总是使用 s......
  • 通过读取yaml文件获得多个参数
    importpytestimportrequestsfromutils.read_yamlimportget_yaml_data#多个参数(’class1,class2‘,[('age','eat'),('age','eat')])@pytest.mark.parametrize('title,body,userId',[get_yaml_data()['list_test&#......
  • C# LINQ中使用聚合函数报错 Sequence contains no elements
    问题:在一个linq查询中使用了平均值聚合函数Average,结果报错Sequencecontainsnoelements(序列不包含任何元素)也就是说,使用某些linq的函数时,如果值不存在是会报错的,比如:First()Single()FirstAsync()SingleAsync()Last()LastAsync()Max()Min()Average()等,解决方案:......
  • 理解面向对象 谁调用基类 谁self.data里就被yaml中类 赋值
    classBaseAPI:#基类相当于动物类;登录属于继承类,相当于老虎类#属性def__init__(self,token=None):#店铺类,订单类,支付模块等都需要使用token所以过滤一下iftoken:#如果接口需要token店铺类,订单类,支付模块等都需要使用token......