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

举报
汪子熙 发表于 2022/07/02 12:52:37 2022/07/02
【摘要】 Jerry 之前的文章SAP S/4HANA Cloud SDK 入门介绍介绍了如何在第三方应用里,调用 SAP S/4HANA Cloud SDK,消费 S/4HANA 系统的 OData 服务。当时我的代码里,指向 SAP API Business Hub Sandbox 的 url 是硬编码的,不够灵活。本文介绍如何通过环境变量的方式来配置这些 endpoint.官网链接在项目根目录新...

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。