首页 > 其他分享 >使用 SAP Business Application Studio Data Editor 生成 Mock Data

使用 SAP Business Application Studio Data Editor 生成 Mock Data

时间:2023-09-14 10:15:09浏览次数:36  
标签:name Business 数据源 Application products mock Products Data 模拟

SAP Business Technology Platform (BTP) 是 SAP 提供的一种综合性云平台,用于构建、扩展和集成企业应用程序。它为企业提供了一个强大的工具集,以支持数字转型和业务创新。在 BTP 上,Business Application Studio (BAS) 是一个云集成开发环境,它为开发人员提供了一种轻松创建、管理和部署应用程序的方式。BAS 中的 Data Editor 是一个非常有用的功能,它允许开发人员直接在云端编辑和管理 mock 数据。

当在 SAP Business Application Studio 里使用 start-mock 启动应用时,所需的 mock data 是运行时动态生成的,即 SAP 所谓的 generation on the fly.

如果开发人员对 mock data 进行进一步编辑,可以使用 Data Editor, 通过这个工具编辑的 mock data,可以以 json 文件的格式,另存到文件夹 webapp/localService/mockdata 之下。

在 SAP Business Application Studio 里选中 webapp 文件夹,右键菜单里选择 Open Data Editor:

点击 Create Mock Data 按钮即可:

成功生成的 Mock Data:

关于 ui5-mock.yaml 文件还可以说一说:

ui5-mock.yaml 文件是 SAP UI5 项目中的一个重要配置文件,它用于定义模拟后端服务和数据。该文件采用 YAML(YAML Ain't Markup Language)格式,这是一种易于阅读和编写的数据序列化格式。通过配置这个文件,开发人员可以模拟后端 API 的行为,以便在没有实际后端服务的情况下进行开发和测试。这对于加快开发速度、降低依赖外部服务的风险以及提高团队协作效率非常有用。

下面,让我们深入了解 ui5-mock.yaml 文件的各个方面:

1. 文件位置

ui5-mock.yaml 文件通常位于 SAP UI5 项目的根目录下。您可以通过编辑这个文件来定义您的模拟后端服务。

2. 基本结构

ui5-mock.yaml 文件包含了一系列的配置项,用于定义模拟后端服务和数据。它的基本结构如下:

---
mockserver:
  version: "1.0"
  appModules:
    - name: "your.app.namespace"
  dataSources:
    - name: "yourDataSourceName"
      settings:
        localUri: "path/to/local/data"

让我们逐个解释这些配置项的含义:

  • mockserver: 整个配置的起始标签,包含了以下子配置项。

    • version: 指定 mock server 的版本,通常为 "1.0"。
    • appModules: 一个数组,包含了您的应用程序模块的名称。这些模块将会被加载并用于模拟后端服务。
  • dataSources: 一个数组,包含了数据源的配置。每个数据源都对应一个模拟的后端服务。

    • name: 数据源的名称,用于在后续配置中引用。
    • settings: 数据源的设置。
      • localUri: 本地数据的路径。这是一个相对于项目根目录的路径,用于指定模拟数据的位置。

3. 模拟数据

ui5-mock.yaml 文件中,您可以定义模拟数据,这些数据将会模拟后端服务的响应。数据通常以 JSON 格式存储在与项目相关的文件中。您可以通过 localUri 配置项指定数据文件的路径。以下是一个示例:

dataSources:
  - name: "products"
    settings:
      localUri: "mockdata/products.json"

在这个示例中,名为 "products" 的数据源使用名为 "mockdata/products.json" 的本地数据文件来模拟后端服务。

4. 模拟服务

一旦您定义了数据源,接下来您可以定义模拟服务,这些服务将模拟后端 API 的行为。您可以为每个数据源定义多个服务。以下是一个示例:

dataSources:
  - name: "products"
    settings:
      localUri: "mockdata/products.json"
    mockServer:
      entities:
        - name: "Products"
          entityType: "Products"
          generateMissingData: true

在这个示例中,我们为名为 "products" 的数据源定义了一个名为 "Products" 的模拟服务。entities 配置项用于定义服务中的实体,包括实体的名称和类型。此外,generateMissingData 配置项用于自动生成缺失的数据。

5. 模拟路由

ui5-mock.yaml 文件中,您还可以定义模拟路由,以模拟不同的后端路由。这对于测试不同的 API 端点非常有用。以下是一个示例:

dataSources:
  - name: "products"
    settings:
      localUri: "mockdata/products.json"
    mockServer:
      entities:
        - name: "Products"
          entityType: "Products"
          generateMissingData: true
      routes:
        - name: "Products"
          entityType: "Products"
          pattern: "Products"

在这个示例中,我们为名为 "products" 的数据源定义了一个名为 "Products" 的模拟服务,并且定义了一个路由,以匹配 "Products" 路径。

6. 使用模拟数据

一旦您完成了 ui5-mock.yaml 文件的配置,您可以在 SAP UI5 项目中使用模拟数据。通常,您可以使用 sap.ui.core.util.MockServer 类来启动模拟服务。以下是一个示例:

sap.ui.require(["sap/ui/core/util/MockServer"], function(MockServer) {
  var oMockServer = new MockServer({
    rootUri: "/your-service-root"
  });

  oMockServer.start();

  // Your code to create and initialize the UI5 app
});

在这个示例中,我们创建了一个 MockServer 实例,并将 rootUri 设置为模拟服务的根路径。然后,通过调用 start 方法,模拟服务将会启动,应用程序将可以通过该服务访问模拟数据。

完整示例

让我们通过一个完整的示例来演示 ui5-mock.yaml 文件的用法。假设我们

正在开发一个产品目录应用,以下是一个可能的配置:

---
mockserver:
  version: "1.0"
  appModules:
    - name: "com.example.productcatalog"
  dataSources:
    - name: "products"
      settings:
        localUri: "mockdata/products.json"
      mockServer:
        entities:
          - name: "Products"
            entityType: "Products"
            generateMissingData: true
        routes:
          - name: "Products"
            entityType: "Products"
            pattern: "Products"

在这个示例中:

  • 我们定义了一个名为 "products" 的数据源,它使用位于 "mockdata/products.json" 的本地数据文件。

  • 我们为数据源定义了一个名为 "Products" 的模拟服务,并指定了模拟的实体和路由。

接下来,我们可以在应用程序中使用 sap.ui.core.util.MockServer 来启动模拟服务,以便在开发和测试中使用模拟数据。

sap.ui.require(["sap/ui/core/util/MockServer"], function(MockServer) {
  var oMockServer = new MockServer({
    rootUri: "/products"
  });

  oMockServer.start();

  // Your code to create and initialize the UI5 app
});

在这个示例中,我们创建了一个 MockServer 实例,将 rootUri 设置为 "/products",这意味着模拟服务将会模拟 "/products" 路径下的后端 API。

总结

ui5-mock.yaml 文件是 SAP UI5 项目中用于定义模拟后端服务和数据的重要配置文件。通过这个文件,开发人员可以模拟后端 API 的行为,以便在开发和测试阶段进行快速迭代和开发。在本文中,我们详细介绍了 ui5-mock.yaml 文件的结构和配置选项,以及如何使用它来模拟后端服务和数据。这个文件对于加快开发速度、降低依赖外部服务的风险以及提高团队协作效率都非常有用。

标签:name,Business,数据源,Application,products,mock,Products,Data,模拟
From: https://www.cnblogs.com/sap-jerry/p/17701749.html

相关文章

  • 78L05线性稳压器件的datasheet参数解读
    78L05技术参数生命周期ObsoleteIHS制造商SHARPCORP包装说明DIP-8ReachComplianceCodeunknown风险等级5.62其他特性WITHSIGNALPROCESSINGCIRCUIT,ULRECOGNIZED,TTLCOMPATIBLE配置COMPLEX标称数据速率10MBps最大正向电流0.02A最大绝缘电压2500V元件数量1最高工作温度7......
  • application 'vueApp' died in status NOT_MOUNTED: [qiankun]: Target container wit
    这是第一次微前端很常见的提示,尤其是第一次写前端的时候碰到的解决1:主应用的 App.vue标签上的id="app"去掉,这是报错的根本解决2://在子应用挂在的时候处理functionrender(props={}){const{container}=props;instance=newVue({render:h=>h......
  • java spring,springmvc,spring boot,spring data,RESTful api设计风格,HTTP协议的四种传
    一.基本技术1.Springmvc=手动接电线(配置xml),提供了一种友好的方式来开发Web应用程序。通过使用诸如DispatcherServlet,ModelAndView和ViewResolver,可以轻松开发Web应用程序。2.SpringBoot=标准插座(第3方开源类库想接入,就按照标准做一个starter的适配),实现了免xml配置和提......
  • RSA加密 too much data for RSA block
    场景:RSA加密//RSA加密 这样处理byte[]bytes=ci.doFinal(data.getBytes(StandardCharsets.UTF_8));returnBase64.getEncoder().encodeToString(bytes);//解密时这样处理byte[]bytes=ci.doFinal(Base64.getDecoder().decode(base64Data));returnnewString(bytes);......
  • [Errno 2] Unable to open file (unable to open file: name = 'data/tokenized/
    valle训练加载数据失败: [Errno2]Unabletoopenfile(unabletoopenfile:name='data/tokenized/libritts_encodec_train-other-500.h5'将路径修改为绝对路径,该问题即可解决......
  • Databend 开源周报第 110 期
    Databend是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn。What'sOnInDatabend探索Databend本周新进展,遇到更贴近你心意的Databend。使用BendSQL管理Stage中的文件Databend推荐使用P......
  • pandas DataFrame 修改列名, 新增列的方法
    pandasdataframe修改列名的方法 加之rename函数,用字典的形式替换式的修改,df.rename(columns={'a':'A',"b":"B"})df 三、obj[‘col’]=value方法直接对DataFrame直接赋值即可in[6]:data['d']=0in[7]:dataout[7]: a b c d 0 1 2 3 0 ......
  • 如何在图表中配置一个能够在移动端响应的DataZoom组件?
    要在图表中配置一个能够在移动端响应的DataZoom组件,可以通过以下几个步骤实现:引入必要的依赖:确保在你的项目中引入了相关的图表库以及移动端响应式插件。常用的图表库有ECharts、Highcharts、Chart.js等,而移动端响应式插件通常是这些库本身已经内置的。创建图表容器:在HTML中......
  • com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 date/time
    问题复现Java8date/timetypejava.time.LocalDateTimenotsupportedbydefault:addModule"com.fasterxml.jackson.datatype:jackson-datatype-jsr310"toenablehandling....在默认情况下Java8不支持LocalDateTime需要添加com.fasterxml.jackson.datatype:jackson-d......
  • 如何使用Oracle Enterprise Manager Database Express连接到PDB数据库
    1.问题重复弹出登录框,无法登陆关闭登录框,显示invalidcontainername2.解决方法参考链接为PDB启动EMExpress要为PDB启动EMExpress,请确保PDB以读/写模式打开,然后尝试本主题中描述的以下方法之一(按所示顺序):连接到包含PDB的CDB的CDB$ROOT容器,并发出以下SQL......