CDS编译为Swagger(swgr)-@ sap/cds/common问题

2020-09-02 02:21发布

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

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


我正在尝试为我的CDS模型的文档编译Swgger json,但是当我使用@ sap/cds/common中的实体Countrys时,编译器会报错。

我对yal,edmx,sql或HANA的构建或编译没有任何问题。 我正在使用CDS 3.16.3。

型号和服务:

 data-model.cds
 命名空间my.bookshop;
 使用来自'@ sap/cds/common'的{cuid,Country};
 实体书籍:cuid {
  密钥ID:整数;
  title:字符串;
  stock:整数
  国家:国家;
 } 
 cat-service.cds
 使用'@ sap/cds/common'中常见的sap.common;
 使用my.bookshop作为来自" ../db/data-model"的我的书;
 服务CatalogService {
  @readonly实体Books作为my.Books上的投影;
  @readonly实体国家/地区对common.Countries的投影;
 } 

这是编译的结果:

 cds cat-service.cds --to swgr
 [ERROR] cds编译由于这些错误而失败...
 在cat-service.cds:6:49:不能隐式重定向关联CatalogService.Countries.localized:服务CatalogService不会通过任何投影公开Target CatalogService.Countries_texts
 在cat-service.cds:6:49:错误:关联目录Service.Countries.texts不能隐式重定向:目标CatalogService.Countries_texts不会因任何投影而出现在服务CatalogService中

我该如何解决? 我知道我可以复制并粘贴@ sap/cds/common并进行自己的实现,但是:-)

此致

亨里克

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

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


我正在尝试为我的CDS模型的文档编译Swgger json,但是当我使用@ sap/cds/common中的实体Countrys时,编译器会报错。

我对yal,edmx,sql或HANA的构建或编译没有任何问题。 我正在使用CDS 3.16.3。

型号和服务:

 data-model.cds
 命名空间my.bookshop;
 使用来自'@ sap/cds/common'的{cuid,Country};
 实体书籍:cuid {
  密钥ID:整数;
  title:字符串;
  stock:整数
  国家:国家;
 } 
 cat-service.cds
 使用'@ sap/cds/common'中常见的sap.common;
 使用my.bookshop作为来自" ../db/data-model"的我的书;
 服务CatalogService {
  @readonly实体Books作为my.Books上的投影;
  @readonly实体国家/地区对common.Countries的投影;
 } 

这是编译的结果:

 cds cat-service.cds --to swgr
 [ERROR] cds编译由于这些错误而失败...
 在cat-service.cds:6:49:不能隐式重定向关联CatalogService.Countries.localized:服务CatalogService不会通过任何投影公开Target CatalogService.Countries_texts
 在cat-service.cds:6:49:错误:关联目录Service.Countries.texts不能隐式重定向:目标CatalogService.Countries_texts不会因任何投影而出现在服务CatalogService中

我该如何解决? 我知道我可以复制并粘贴@ sap/cds/common并进行自己的实现,但是:-)

此致

亨里克

付费偷看设置
发送
3条回答
宇峰Kouji
1楼 · 2020-09-02 03:09.采纳回答

你好,亨里克,

这里的错误不是由于@ sap/cds/common引起的,而是由于挥霍的后端。 当前的只是一个实验(请注意,我们将对此发出警告)。 正在制作专用的,可立即投入生产的后端。 在准备就绪之前,我们建议采用以下方法作为解决方法:

1。 用cds将服务编译到edmx编译-2 edmx srv/cat-service.cds(在cap项目中)

2。 使用此模块从edmx文件生成OpenAPI文档

最好的问候,埃琳娜

Doze时光
2楼-- · 2020-09-02 03:17

我认为这是我今天上午发布的类似问题:使用@ sap/cds/common

闻人可可
3楼-- · 2020-09-02 03:00

Hello Elena时,csn2jpa失败,

我们也一直在使用它,但是与使用CDS工具生成Swagger文档相比,唯一的缺点/区别是枚举的丢失。 由于枚举没有发布到meta.xml中,也没有强制执行。

尽管使用CDS工具将枚举导出到Swagger文档,所以至少可以通过这种方式进行传达。

亲切的问候,

Vincent

一周热门 更多>