Jerry 之前的文章SAP S/4HANA Cloud SDK 入门介绍介绍了如何在第三方利用里,调用 SAP S/4HANA Cloud SDK,生产 S/4HANA 零碎的 OData 服务。

过后我的代码里,指向 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 名称即可。