当前位置: 首页 > Web前端 > JavaScript

如何构建和使用SAPCloudSDKforJavaScript

时间:2023-03-27 13:16:42 JavaScript

官方链接要创建已包含使用SAPCloudSDKforJavaScript所需的所有文件和配置的应用程序,您可以使用SDK的命令行界面(CLI)。要获取CLI,请运行以下命令:npminstall-g@sap-cloud-sdk/cli这将在您的机器上全局安装CLI,让您可以在任何地方使用它。现在你可以通过运行CLI的init命令来创建一个新项目:sap-cloud-sdkinitmy-sdk-projectisinstalled:在生成的项目中,package.json中定义的依赖如下:运行命令到启动初始化的项目,可以看到应用启动成功的信息:npmrunstart:dev官网设置APIServer设置APIServer的方法有很多种,可以自己设置MockServer,或者使用沙盒API。为了调用OData服务,需要有一个服务来调用。您可以按照此处的说明设置模拟业务合作伙伴和自定义服务的本地模拟服务器。此模拟服务器不支持实际OData服务的所有功能,但足以在本地试用。一旦启动并运行,您应该会在http://localhost:3000/看到服务列表。或者,可以使用SAPAPIBusinessHub的沙箱测试许多API。要使用沙箱,您需要一个API密钥。转到https://api.sap.com并单击右上角的“登录”。如果您没有帐户,则需要先注册。登录后,点击右上角的“hi”,然后在刚刚打开的下拉菜单中点击“Preferences”。在首选项页面上,单击显示API密钥。添加自定义路由最初,应用程序仅包含index和hello-world路由。我们将为业务合作伙伴添加另一条路线,它将列出所有可用的业务合作伙伴。首先,在src/目录下新建一个文件business-partner.controller.ts并为这条路由添加一个实现,如下所示:@Controller()装饰器将我们的类标记为控制器(也就是处理请求的东西),@Get('business-partners')装饰器将getBusinessPartners方法标记为路径/business-partners上的GET请求的处理程序。为了让控制器工作,我们还需要在我们的应用程序中注册它。打开app.module.ts,导入刚刚创建的控制器类并将其添加到控制器声明中。从'@nestjs/common'导入{Module};从'./app.controller'导入{AppController};从'./app.service'导入{AppService};从'./business-partner.import{BusinessPartnerController}。controller';@Module({imports:[],controllers:[AppController,BusinessPartnerController],providers:[AppService],})exportclassAppModule{}要使用SAPCloudSDKforJavaScript调用OData服务,导入此服务添加虚拟数据模型(VDM)到您的依赖项。在本文中,我们将VDM用于业务合作伙伴服务。使用以下命令安装它:npminstall@sap/cloud-sdk-vdm-business-partner-serviceSAPCloudSDKforJavaScript为SAPS/4HANACloud公开的每个OData服务提供包。您可以在SAPAPI业务中心找到这些服务的列表,并在我们的文档中找到相应包的列表。在business-partner.controller.ts中创建一个函数getAllBusinessPartners并针对您的API服务器实现它:在下面的代码片段中,我们假设您有一个在本地端口3000上运行的模拟服务器。可以在此处找到有关模拟服务器的文档。functiongetAllBusinessPartners():Promise{returnBusinessPartner.requestBuilder().getAll().execute({url:'http://localhost:3000'});}在第2行中,我们提供业务合作伙伴实体创建一个请求生成器。第3行表示我们要创建一个获取所有业务伙伴的请求。第4行负责根据给定的目标URL执行并向URL发送请求。由于网络请求本质上是异步的,因此该函数的返回值是Promise.import{Controller,Get,HttpException}from'@nestjs/common';import{BusinessPartner}from'@sap/cloud-sdk-vdm-business-partner-service';@Controller()exportclassBusinessPartnerController{@Get('business-partners')getBusinessPartners(){returngetAllBusinessPartners().catch(error=>{thrownewHttpException(`未能获取业务伙伴-${error.message}`,500);});}}functiongetAllBusinessPartners():Promise{returnBusinessPartner.requestBuilder().getAll().execute({url:'https://sandbox.api.sap.com/s4hanacloud',});}最终运行结果:成功从SAPAPI沙箱系统获取业务伙伴数据:Jerry更多原创文章,全部在:《汪子熙》: