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

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

时间:2023-11-01 13:05:29浏览次数:27  
标签:Elements OData 应用程序 yaml ui5 mockserver 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,您可以访问模拟数据:

  • 模拟 OData 服务的元数据:http://localhost:8080/sap/opu/odata/sap/SEPMRA_PROD_MAN/$metadata
  • 模拟 OData 服务的实体集合:http://localhost:8080/sap/opu/odata/sap/SEPMRA_PROD_MAN/ProductSet

4. 总结

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

标签:Elements,OData,应用程序,yaml,ui5,mockserver,sap,模拟,metadata
From: https://blog.51cto.com/jerrywangsap/8120665

相关文章

  • SAP UI5 中的 sap-fe-mockserver
    SAPUI5是一种用于构建现代Web应用程序的开发框架,它是SAP(Systems,Applications,andProductsinDataProcessing)公司推出的一种前端技术。它提供了丰富的控件库、MVC(Model-View-Controller)架构模式、数据绑定、主题定制等功能,帮助开发人员构建直观、高度可定制且易......
  • 因为 SAP UI5 版本升级引起的问题又一例 - 如何分析问题根源
    本教程之前的文章,我们介绍了SAPUI5库文件版本相关的知识:SAPUI5应用开发教程之八十四-如何指定SAPUI5应用程序基于某个特定的版本运行同样一份源代码,使用不同的SAPUI5版本加载,行为可能会有所差异:SAPUI5应用开发教程之一百一十八-如何分析因为SAPUI5版本差异带来......
  • [macos]karabiner-elements设置
    通过一些映射来方便我的mac操作      20200423:  https://github.com/eret9616/my-karabiner-config ......
  • SAP UI5 官网上提供的例子,如何下载到本地运行试读版
    上个月的时候,有个朋友问了我这个问题,SAPUI5官网上的例子,如何下载到本地运行呢?本文就来介绍详细步骤。我们打开SAPUI5官方帮助文档,点击Samples:然后从左边随便选一个Samples,比如Breadcrumbs:然后在屏幕右侧看到的区域,就是这个例子渲染出来的动态效果:点击Download......
  • SAP UI5 里 Namespace,Class 和 Enum 的区别
    SAPUI5是一种用于构建企业级Web应用程序的前端开发框架,它提供了丰富的UI组件和工具,以便开发者可以轻松创建现代、响应式和高性能的应用程序。在SAPUI5的API文档中,我们可以找到不同类型的树节点,包括Namespace、Class和Enum。下图的C代表Class,N代表Namespace,E代表Enum.......
  • Spring @ConfigurationProperties Yaml语法配置List和Map:List<String>、List<Obj>、L
    yaml语法数据结构可以用类似大纲的缩排方式呈现,结构通过缩进来表示,连续的项目通过减号“-”来表示,map结构里面的key/value对用冒号“:”来分隔。例子:配置类YmalConfig:importcn.hutool.json.JSONUtil;importlombok.Data;importorg.springframework.boot.context.properti......
  • pytest-yaml 测试平台-3.创建执行任务定时执行用例
    前言当项目用例编写完成后,需设置执行策略,可以用到定时任务设置每天几点执行。或者间隔几个小时执行一次。创建定时任务创建任务勾选需要执行的项目以及运行环境触发器可以支持2种方式:interval间隔多久触发和cron表达式定时执行方式1:interval触发器,间隔10分钟执行一次,......
  • pytest + yaml 框架 -55. raw 不转义模板语法
    前言在yaml文件中,设置的引用变量语法是${var},最近有小伙伴提到一个需求:请求参数的内容需要有特殊符号${var},希望不被转义,不要引用变量,直接用原始数据即可。raw忽略模板语法Jinja2提供了"raw"语句来忽略所有模板语法。语法示例{%raw%}hello${var}world!{%endraw%......
  • 什么是yaml格式与json格式
    什么是yaml格式与json格式yaml格式:文件名格式以.yml.yaml为后缀,用空格缩进表示字段的层级关系,可读性高,易于人类管理yaml格式布尔值类型:只有在是true/false时为真,假的意识例:debug:true 布尔值类型debug:"true"字符串类型​debug:false  布尔值类型debu......
  • SpringBoot——yaml配置文件
    yaml简介YAML是"YAMLAin'taMarkupLanguage"(YAML不是一种标记语言)。在开发的这种语言时,YAML的意思其实是:"YetAnotherMarkupLanguage"(是另一种标记语言)。设计目标,就是方便人类读写层次分明,更适合做配置文件使用.yaml或.yml作为文件后缀基本语法大小写敏感使......