点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好帽子专家
我已经初始化了一个简单的CAP节点项目,并且
我想知道如何在其他服务中使用服务。 我在Foundry中部署了我的第一个服务,并且可以正常工作。
实体位置:托管{ 密钥ID:整数; 国家:字符串(111); } ID;国家/地区; 1;秘鲁 2;美国
对于此服务,我已经在子帐户中创建了一个基本目的地,未进行身份验证,其名称为:DEST_LOCATION,并在我的空间内安装了名为dest_instance的服务
第二项服务必须调用第一个服务并添加一个额外的字段
实体人:受管理的{ 密钥ID:整数; 名称:字符串(111); locationId:整数; } ID;名称;国家; 1;彼得; 1 2;俊; 2
与Person?&$ expand = Location并且此发球的响应必须具有以下结果:
"值":[ { " ID":" 1", " name":" Peter", " locationId":1 " country":" PERU" }, { " ID":" 2", " name":" Jhon", " locationId":2 "国家":"美国" } ]
这是我的package.json
ID:人 _schema-version:" 3.1" 版本:0.0.1 参数: 启用并行部署:true 模块: -名称:person-db 类型:com.sap.xs.hdi 路径:gen/db 构建参数: 忽略:[" node_modules/"] 参数: 记忆体:256M 磁盘配额:256M 要求: -名称:DB_PERSON -名称:person-srv 类型:nodejs 路径:gen/srv 构建参数: 忽略:[" node_modules/"] 参数: 内存:512M 磁盘配额:256M 提供: -名称:srv_api 特性: 网址:$ {default-url} 要求: -名称:DB_PERSON -名称:uaa_des -名称:dest_instance -名称:srv_api 组:目的地 特性: 名称:DEST_LOCATION 网址:"〜{url}" forwardAuthToken:true 资源: -名称:DB_PERSON 类型:com.sap.xs.hdi-container 特性: hdi容器名称:DB_PERSON 参数: 配置: 模式:SCHEMA_PERSON -名称:uaa_des 类型:org.cloudfoundry.existing-service -名称:dest_instance 参数: 服务计划:精简版 服务:目的地 类型:org.cloudfoundry.existing-service
还有我的package.json
{ " name":" person", " version":" 1.0.0", " description":"一个简单的CAP项目。", " repository":" <在此处添加您的存储库>", "许可证":" ISC", "依赖关系":{ " @ sap/audit-logging":" ^ 3.1.0", " @ sap/logging":" ^ 5.1.0", " axios":" 0.19.0", "表达":" ^ 4.17.1", " http-proxy-middleware":" ^ 0.20.0", " @ sap/cds-odata-v2-adapter-proxy":"最新", " @ sap/cds":" ^ 3", " @ sap/xssec":" ^ 2.2.4", " hdb":" ^ 0.17.1", " passport":" ^ 0.4.1", }, "脚本":{ " start":" npx cds运行" }, " cds":{ "要求":{ "D b": { " kind":" hana", "型号":[ "D b", " srv" ] }, " externalService":{ " kind":" rest/odata", " model":"/地址", "凭据":{ "目的地":" DEST_LOCATION", }, " uaa":{ " kind":" xsuaa" } } } } }
现在,我希望有人可以帮助我进行下一步。 我应该扩展de cds来在数据库中的person.cds中添加国家/地区字段吗?
在我的服务人员中,cds应该包括扩展名吗? 在我的服务中person.js我应该打电话给目的地以获得
const srv = cds.connect.to ('DEST_LOCATION')
const {Location} = srv.Location;
.....
我尝试了很多事情,任何帮助将不胜感激。
谢谢
嗨,
请查看有关如何使用服务的官方文档:
https://cap.cloud.sap/docs/guides/consumption-services
最好的问候,
大卫
嗨,大卫和格雷戈尔,
我遵循了官方文档,并且看到了您的示例Gregor,我认为这比我想要的要复杂。 我将开始仅限制来自外部服务的所有数据,但是我没有找到返回数据的方法。
在个人服务的服务admin.js中,我想返回所有数据表单的位置。
我将所有项目上传到此仓库。 https://github.com/mrjerte/consume-cap-service
感谢您的帮助。
非常感谢。
我认为我的示例应用程序 epmbp-consumer-app 可以指导您以及David链接的文档。
您可以找到此仓库的项目。 https://github.com/mrjerte/consume-cap-service
最好
您好
,也许您从返回包含位置实体字段的静态JSON开始。
是的,我在 service.js#L81 有点复杂,因为我使用的是SAP Cloud SDK。 但是示例 controller-api 可能更适合,因为它使用了CAP Service API。 查看 controller-service.js#L19 a>。
最诚挚的问候
格雷戈尔
一周热门 更多>