javascript
SAP Cloud SDK for JavaScript 的搭建和使用方法介绍
官方鏈接
要創建已包含使用 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的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的SAP Cloud SDK for JavaScript 的搭建和使用方法介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 期望值
- 下一篇: gradle idea java ssm