1. 程式人生 > 其它 >使用 SAP Cloud SDK 開發應用時,如何通過環境變數的配置避免硬編碼

使用 SAP Cloud SDK 開發應用時,如何通過環境變數的配置避免硬編碼

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 名稱即可。