前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SAP Cloud SDK for JavaScript 的搭建和使用方法介绍

SAP Cloud SDK for JavaScript 的搭建和使用方法介绍

作者头像
Jerry Wang
发布2021-07-21 12:04:48
8530
发布2021-07-21 12:04:48
举报

官方链接

要创建已包含使用 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,导入刚刚创建的控制器类并将其添加到控制器声明中。

代码语言:javascript
复制
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 上。可以在此处找到有关模拟服务器的文档。

代码语言:javascript
复制
function getAllBusinessPartners(): Promise<BusinessPartner[]> {
  return BusinessPartner.requestBuilder()
    .getAll()
    .execute({
      url: 'http://localhost:3000'
    });
}
  • 在第 2 行中,我们正在为业务合作伙伴实体创建一个请求构建器。
  • 第 3 行表明,我们要创建一个请求以获取所有业务伙伴。
  • 第 4 行负责执行并根据给定的目标 URL 向 URL 发送请求。

由于网络请求本质上是异步的,因此该函数的返回值是对业务伙伴列表 (Promise<BusinessPartner[]>) 的 Promise.

代码语言:javascript
复制
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 数据:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-07-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Set up the API Server
  • Add a custom route
相关产品与服务
API 网关
腾讯云 API 网关(API Gateway)是腾讯云推出的一种 API 托管服务,能提供 API 的完整生命周期管理,包括创建、维护、发布、运行、下线等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档