通过SAP Cloud SDK for JavaScript API将请求发送到CAP API

2020-08-21 19:33发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 一切正常。 从那里,...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

一切正常。 从那里,我成功创建了一个单独的项目以使用Bookshop服务。 在其中,我使用" sap-cloud-sdk generate-odata-client"命令基于该服务创建了一个OData客户端。 我在" service-mapping.json"内部将服务路径设置为"/img/browse",然后为该服务重写了odata-client。

从那里,我想定义一个API端点以从服务中获取所有订单。 这就是我的Cloud SDK API的orders.service.ts。 然后,当然,控制器会使用该服务功能,该功能会将功能路由到GET请求的"/img/books"。

从'@ nestjs/common'导入{可注入};
 从" odata-client/catalog-service"导入{Books};

 const serviceLink:字符串='http://localhost:4004'

 @Injectable()
 导出类BooksService {
    
     异步getAllBooks(){
         const books = await Books.requestBuilder()
             。得到所有()
             .execute({url:serviceLink});

         console.log(books);

         还书;
     }
 }
 

无论如何,请求构建器都会创建HTTP请求'GET/browse/Books?$ format = json',该请求会在Postman中返回正确的结果,但在SDK中不起作用。 CAP API的控制台识别出已发送获取请求,但是SDK API给出错误"无法读取未定义的属性"结果"。 为了使这两个API相互连接,是否需要添加任何额外的样板文件?

SAP社区在解决这类问题方面非常有帮助,对此我深表感谢! 谢谢!

编辑:更多详细信息

这是图书管理员的样子:

 import从'@ nestjs/common'导入{Controller,Get};
 从" ./books.service"导入{BooksService};

 @Controller('books')
 导出类BooksController {
     构造函数(私有readonly booksService:BooksService){}

     @得到()
     getAllBooks(){
         返回this.booksService.getAllBooks()
     }
 }
 

这将导入到其对应的模块中,并由app模块使用。 因此,我最终要向" http://localhost:3000/books"发出GET请求。

5条回答
clever101
2020-08-21 19:57

谢谢丹尼斯,

您获得了巨大的帮助! 这是SDK的响应:

 {
     " statusCode":500,
     " message":"内部服务器错误"
 } 

因此,现在,我将了解如何将v2适配器注入CAPM项目。 我会告诉您是否可行

一周热门 更多>