天天看点

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...])​

  • 表示路径的字符串。
  • 路径模式。
  • 匹配路径的正则表达式模式。
  • 以上任何一种组合的数组。