关于sap:SAP-Cloud-SDK-for-JavaScript-的搭建和使用方法介绍

4次阅读

共计 2556 个字符,预计需要花费 7 分钟才能阅读完成。

官网链接

要创立已蕴含应用 SAP Cloud SDK for JavaScript 所需的所有文件和配置的应用程序,您能够应用 SDK 的命令行界面 (CLI)。要获取 CLI,请运行以下命令:

npm install -g @sap-cloud-sdk/cli

这将在你的机器上全局装置 CLI,容许你在任何中央应用它。当初你能够通过运行 CLI 的 init 命令来创立一个新我的项目:

sap-cloud-sdk init my-sdk-project

装置结束:

生成的我的项目里,package.json 定义的依赖如下:

运行命令,启动初始化好的我的项目,能看到利用胜利启动的音讯:

npm run start:dev


官网

Set up the API Server

有多种设置 API Server 的办法,您能够设置本人的 Mock Server,也能够应用 Sandbox API。

为了调用 OData 服务,须要有一个要调用的服务。您能够依照此处的阐明设置模仿业务合作伙伴和自定义服务的本地模仿服务器。这个模仿服务器并不反对理论 OData 服务的所有性能,但在本地试用它就足够了。

一旦它启动并运行,您应该会在 http://localhost:3000/ 看到服务列表。

或者,也能够应用 SAP API Business Hub 的沙箱测试许多 API。要应用沙箱,您须要一个 API 密钥。转到 https://api.sap.com 并单击右上角的“登录”。如果您没有帐户,则须要先注册。登录后,点击右上角的“hi”,而后在刚刚关上的下拉菜单中点击“首选项”。在首选项页面上,单击显示 API 密钥。

Add a custom route

最后,该应用程序仅蕴含 index 和 hello-world 路由。咱们将为业务合作伙伴增加另一条路线,其中将列出所有可用的业务合作伙伴。

首先,在 src/ 目录中创立一个新文件 business-partner.controller.ts 并为此路由增加一个实现,如下所示:

@Controller() 装璜器将咱们的类标记为控制器(即解决申请的货色),@Get(‘business-partners’) 装璜器将 getBusinessPartners 办法标记为门路 /business-partners 上的 GET 申请的处理程序。

为了让控制器工作,咱们还须要在咱们的应用程序中注册它。关上 app.module.ts,导入刚刚创立的控制器类并将其增加到控制器申明中。

import {Module} from '@nestjs/common';
import {AppController} from './app.controller';
import {AppService} from './app.service';
import {BusinessPartnerController} from './business-partner.controller';

@Module({imports: [],
  controllers: [AppController, BusinessPartnerController],
  providers: [AppService],
})
export class AppModule {}

要应用实用于 JavaScript 的 SAP Cloud SDK 调用 OData 服务,请将此服务的虚构数据模型 (VDM) 增加到您的依赖项。在本文中,咱们将 VDM 用于业务合作伙伴服务。应用以下命令装置它:

npm install @sap/cloud-sdk-vdm-business-partner-service

SAP Cloud SDK for JavaScript 为 SAP S/4HANA Cloud 公开的每个 OData 服务提供包。您能够在 SAP API 业务核心找到这些服务的列表,并在咱们的文档中找到相应包的列表。

在 business-partner.controller.ts 创立一个函数 getAllBusinessPartners 并依据您的 API 服务器实现它:

在上面的代码片段中,咱们假如您有一个模仿服务器在本地运行在端口 3000 上。能够在此处找到无关模仿服务器的文档。

function getAllBusinessPartners(): Promise<BusinessPartner[]> {return BusinessPartner.requestBuilder()
    .getAll()
    .execute({url: 'http://localhost:3000'});
}

  • 在第 2 行中,咱们正在为业务合作伙伴实体创立一个申请构建器。
  • 第 3 行表明,咱们要创立一个申请以获取所有业务搭档。
  • 第 4 行负责执行并依据给定的指标 URL 向 URL 发送申请。

因为网络申请实质上是异步的,因而该函数的返回值是对业务搭档列表 (Promise<BusinessPartner[]>) 的 Promise.

import {Controller, Get, HttpException} from '@nestjs/common';
import {BusinessPartner} from '@sap/cloud-sdk-vdm-business-partner-service';

@Controller()
export class BusinessPartnerController {@Get('business-partners')
  getBusinessPartners() {return getAllBusinessPartners()
      .catch(error => {throw new HttpException(`Failed to get business partners - ${error.message}`, 500);
      });
  }
}

function getAllBusinessPartners(): Promise<BusinessPartner[]> {return BusinessPartner.requestBuilder()
    .getAll()
    .execute({url: 'https://sandbox.api.sap.com/s4hanacloud',});
}

最初的运行后果:胜利从 SAP API sandbox 零碎获得了 Business partners 数据:

更多 Jerry 的原创文章,尽在:” 汪子熙 ”:

正文完
 0