使用|使用 SAP Cloud SDK 开发应用时,如何通过环境变量的配置避免硬编码

Jerry 之前的文章SAP S/4HANA Cloud SDK 入门介绍介绍了如何在第三方应用里,调用 SAP S/4HANA Cloud SDK,消费 S/4HANA 系统的 OData 服务。
【使用|使用 SAP Cloud SDK 开发应用时,如何通过环境变量的配置避免硬编码】当时我的代码里,指向 SAP API Business Hub Sandbox 的 url 是硬编码的,不够灵活。本文介绍如何通过环境变量的方式来配置这些 endpoint.
官网链接
在项目根目录新建一个 .env 文件,内容如下:

destinations=[{"name": "sandbox", "url": "https://sandbox.api.sap.com/s4hanacloud"}]

执行如下命令行:
npm install @nestjs/config
为了加载 .env 文件中定义的环境变量,我们需要将 config 包提供的 ConfigModule 添加到应用程序的 @Module 定义中。 打开 app.module.ts 并使用以下代码更新它:
源代码:
import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { BusinessPartnerController } from './business-partner.controller'; @Module({ imports: [ConfigModule.forRoot()], controllers: [AppController, BusinessPartnerController], providers: [AppService], }) export class AppModule {}

将应用代码里 execute 方法的参数,从硬编码的 url,改成传递一个 .env 文件里维护的 Destination 名称即可。
使用|使用 SAP Cloud SDK 开发应用时,如何通过环境变量的配置避免硬编码
文章图片

    推荐阅读