javascript
SAP Cloud SDK for JavaScript 的搭建和使用方法介绍
官方鏈接
要?jiǎng)?chuàng)建已包含使用 SAP Cloud SDK for JavaScript 所需的所有文件和配置的應(yīng)用程序,您可以使用 SDK 的命令行界面 (CLI)。 要獲取 CLI,請(qǐng)運(yùn)行以下命令:
npm install -g @sap-cloud-sdk/cli
這將在你的機(jī)器上全局安裝 CLI,允許你在任何地方使用它。 現(xiàn)在你可以通過運(yùn)行 CLI 的 init 命令來創(chuàng)建一個(gè)新項(xiàng)目:
sap-cloud-sdk init my-sdk-project
安裝完畢:
生成的項(xiàng)目里,package.json 定義的依賴如下:
運(yùn)行命令,啟動(dòng)初始化好的項(xiàng)目,能看到應(yīng)用成功啟動(dòng)的消息:
npm run start:dev
官網(wǎng)
Set up the API Server
有多種設(shè)置 API Server 的方法,您可以設(shè)置自己的 Mock Server,也可以使用 Sandbox API。
為了調(diào)用 OData 服務(wù),需要有一個(gè)要調(diào)用的服務(wù)。您可以按照此處的說明設(shè)置模擬業(yè)務(wù)合作伙伴和自定義服務(wù)的本地模擬服務(wù)器。這個(gè)模擬服務(wù)器并不支持實(shí)際 OData 服務(wù)的所有功能,但在本地試用它就足夠了。
一旦它啟動(dòng)并運(yùn)行,您應(yīng)該會(huì)在 http://localhost:3000/ 看到服務(wù)列表。
或者,也可以使用 SAP API Business Hub 的沙箱測(cè)試許多 API。要使用沙箱,您需要一個(gè) API 密鑰。轉(zhuǎn)到 https://api.sap.com 并單擊右上角的“登錄”。如果您沒有帳戶,則需要先注冊(cè)。登錄后,點(diǎn)擊右上角的“hi”,然后在剛剛打開的下拉菜單中點(diǎn)擊“首選項(xiàng)”。在首選項(xiàng)頁面上,單擊顯示 API 密鑰。
Add a custom route
最初,該應(yīng)用程序僅包含 index 和 hello-world 路由。 我們將為業(yè)務(wù)合作伙伴添加另一條路線,其中將列出所有可用的業(yè)務(wù)合作伙伴。
首先,在 src/ 目錄中創(chuàng)建一個(gè)新文件 business-partner.controller.ts 并為此路由添加一個(gè)實(shí)現(xiàn),如下所示:
@Controller() 裝飾器將我們的類標(biāo)記為控制器(即處理請(qǐng)求的東西),@Get(‘business-partners’) 裝飾器將 getBusinessPartners 方法標(biāo)記為路徑 /business-partners 上的 GET 請(qǐng)求的處理程序。
為了讓控制器工作,我們還需要在我們的應(yīng)用程序中注冊(cè)它。 打開 app.module.ts,導(dǎo)入剛剛創(chuàng)建的控制器類并將其添加到控制器聲明中。
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 調(diào)用 OData 服務(wù),請(qǐng)將此服務(wù)的虛擬數(shù)據(jù)模型 (VDM) 添加到您的依賴項(xiàng)。 在本文中,我們將 VDM 用于業(yè)務(wù)合作伙伴服務(wù)。 使用以下命令安裝它:
npm install @sap/cloud-sdk-vdm-business-partner-service
SAP Cloud SDK for JavaScript 為 SAP S/4HANA Cloud 公開的每個(gè) OData 服務(wù)提供包。 您可以在 SAP API 業(yè)務(wù)中心找到這些服務(wù)的列表,并在我們的文檔中找到相應(yīng)包的列表。
在 business-partner.controller.ts 創(chuàng)建一個(gè)函數(shù) getAllBusinessPartners 并根據(jù)您的 API 服務(wù)器實(shí)現(xiàn)它:
在下面的代碼片段中,我們假設(shè)您有一個(gè)模擬服務(wù)器在本地運(yùn)行在端口 3000 上。可以在此處找到有關(guān)模擬服務(wù)器的文檔。
function getAllBusinessPartners(): Promise<BusinessPartner[]> {return BusinessPartner.requestBuilder().getAll().execute({url: 'http://localhost:3000'}); }- 在第 2 行中,我們正在為業(yè)務(wù)合作伙伴實(shí)體創(chuàng)建一個(gè)請(qǐng)求構(gòu)建器。
- 第 3 行表明,我們要?jiǎng)?chuàng)建一個(gè)請(qǐng)求以獲取所有業(yè)務(wù)伙伴。
- 第 4 行負(fù)責(zé)執(zhí)行并根據(jù)給定的目標(biāo) URL 向 URL 發(fā)送請(qǐng)求。
由于網(wǎng)絡(luò)請(qǐng)求本質(zhì)上是異步的,因此該函數(shù)的返回值是對(duì)業(yè)務(wù)伙伴列表 (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',}); }最后的運(yùn)行結(jié)果:成功從 SAP API sandbox 系統(tǒng)取得了 Business partners 數(shù)據(jù):
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的SAP Cloud SDK for JavaScript 的搭建和使用方法介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 期望值
- 下一篇: RedisTemplate操作Redis