日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用 mock 数据在本地运行 SAP Fiori Elements 应用的工作原理

發(fā)布時間:2023/12/19 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 mock 数据在本地运行 SAP Fiori Elements 应用的工作原理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本系列的前兩篇文章:

  • 在沒有任何前端開發(fā)經(jīng)驗的基礎(chǔ)上, 創(chuàng)建第一個 SAP Fiori Elements 應(yīng)用
  • 如何使用 mock 數(shù)據(jù)在本地運(yùn)行 SAP Fiori Elements

本文研究 Fiori Elements 應(yīng)用本地運(yùn)行,而不是連接遠(yuǎn)程數(shù)據(jù)庫,消費服務(wù)器 OData 服務(wù)的工作原理。

本地運(yùn)行 SAP Fiori Elements 應(yīng)用時,訪問的 index.html 為:test 文件夾下的 flpSandboxMockServer.html

這個 id 為 sap-ui-bootstrap 的 script 標(biāo)簽里,定義了 SAP UI5 bootstrap 需要加載的 JavaScript Resource 文件:

這個 script data-sap-ui-use-mockserver 標(biāo)簽里,定義了 為 true:

使用 mock server 的標(biāo)志位,在 locate-reuse-libs.js 里被訪問。在 callback 里執(zhí)行 mock server 的 init 操作。

在 mock 模式下運(yùn)行,metadata 的 url 也指向本地 xml 文件了:

mock server url:/sap/opu/odata/sap/SEPMRA_PROD_MAN/ 和正常模式下運(yùn)行的 OData server url 相比沒有變化,

關(guān)鍵的一個方法:

// load local mock dataoMockServer.simulate(sMetadataUrl, {sMockdataBaseUrl: sJsonFilesUrl,bGenerateMissingMockData: true});

看 simulate 方法的注釋:

  • Simulates an existing OData service by sepcifying the metadata URL and the base URL for the mockdata
  • 通過指定 Metadata url 和 mockdata base url,來模擬一個 OData 服務(wù)。

  • The mockdata needs to be stored individually for each entity type in a separate JSON file. The name of the JSON file needs to match the name of the entity type.
  • 每個 entity type 的 mockdata 必須單獨存放在一個 json 文件里,且 json 文件的名稱,必須和 entity type 完全一致。

  • 如果沒有提供 mockdata 的 base url,則 mockdata 基于 metadata 被創(chuàng)建。
  • 1981 行的 _refreshData 方法,會加載本地存儲的 json 文件包含的 mockdata:

    接下來,是 mockserver 為不同類型的 HTTP 請求,注冊不同的 handler. 這樣,當(dāng) mock server 收到 SAP Fiori Elements 應(yīng)用發(fā)起的 HTTP 請求時,這些 handler 會被調(diào)用,來返回 mock 過的數(shù)據(jù)。

    每個 HTTP 請求 handler 在注冊的時候,都會綁定一個 path,如下圖 2179 的正則表達(dá)式所示,這代表了該 handler 能夠處理哪些路徑的 HTTP 請求。例如,當(dāng) url 包含 metadata 字符串時,觸發(fā)下圖的 metadata handler,將本地 localService 文件夾內(nèi)的 metadata.xml,返回給請求的發(fā)起方。

    mock server 響應(yīng)其他請求的原理類似,這里就不再贅述了。

    更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:

    總結(jié)

    以上是生活随笔為你收集整理的使用 mock 数据在本地运行 SAP Fiori Elements 应用的工作原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。