天天看點

SAP UI5 Tools 的 Custom UI5 Server Middleware 介紹

UI5 伺服器可擴充性(Extensibility)使開發人員能夠增強 UI5 伺服器的功能。

開發人員可能希望以不同的方式處理請求。 例如,将各種标頭添加到響應中(一個最典型的應用就是避免本地 SAP UI5 應用通路 S/4HANA OData 服務時遇到的跨域錯誤)或以特定方式解析 POST 請求的資料。 為此,我們可以将自定義中間件實作插入 UI5 伺服器子產品(該子產品内部仍然基于 express server 實作)。

UI5 社群已經建立了許多自定義中間件包,您可以将它們內建到您的項目中。 它們通常以 ​

​ui5-middleware-​

​ 為字首,以便在 npm registry 中輕松搜尋它們。

在項目 ui5.yaml 檔案中,您可以定義其他伺服器中間件子產品,這些子產品将在伺服器接收到請求時執行。 此配置僅影響在此項目中啟動的伺服器。 任何依賴項中定義的自定義中間件配置都将被忽略。

下面是一個例子:

specVersion: "2.6"
type: application
metadata:
  name: my.application
server:
  customMiddleware:
    - name: myCustomMiddleware
      mountPath: /myapp
      afterMiddleware: compression
      configuration:
        debug: true      

在上面的示例中,中間件 ​

​compression​

​​ 已經作為标準中間件被 UI5 伺服器包含在内。 在為應用程式 my.application 提供服務時,伺服器會在标準中間件 ​

​compression​

​ 執行後,調用自定義中間件 myCustomMiddleware。

SAP UI5 Tools 支援提供可選的配置參數,直接傳遞給自定義中間件實作。

可以提供調用中間件函數的可選 mountPath。 它将被傳遞給 app.use 調用。

文法:​

​app.use([path,] callback [, callback...])​

  • 表示路徑的字元串。
  • 路徑模式。
  • 比對路徑的正規表達式模式。
  • 以上任何一種組合的數組。