点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
是否可以为定义的实体禁用默认的CRUD处理程序? 虽然我可以通过实现相应的 .on('CREATE',...), .on('READ',...)处理程序来定义自定义功能, 这些处理程序除隐含默认值之外,还被执行 而不是代替隐含的默认值。
我想实现一个端点 /data/Json ,通过该端点可以接收任意json负载。 为此,我试图通过 @ cds.persistence.skip 在我的服务模型中声明一个非持久性实体,然后根据我的需要设计了它的CREATE处理程序。
//srv/service.cds 服务数据@(path:'/data'){ @ cds.persistence.skip 实体Json { 密钥ID:UUID; json:字符串; } } //srv/service.js module.exports =异步(srv)=> { srv.on('CREATE','Json',(req)=> { /* *在这里使用req.data.json中的数据 */ }) }
不幸的是,由于 SQLITE_ERROR,任何尝试将数据发布到端点的尝试都失败了:没有这样的表:Data_Json ,我从中推断出POST导致尝试将数据实际写入数据库, 这是默认行为。 是否可以为我的实体完全禁用默认处理程序?
谢谢您的问候。
您好 StanislawHüll,
与相应请求有关的所有处理程序均按顺序执行,默认设置最后执行。 这使您可以顺从它们,例如,如果您根本不想处理该请求。 但是,这意味着您需要终止执行,例如通过调用req.reply(),req.reject()等来终止。完整列表可在此处找到:https://cap.cloud.sap/docs/node.js/api#service-on (请参阅部分 "结果")。
最好,
塞巴斯蒂安
您好斯坦尼斯拉夫·胡尔,
最佳,
塞巴斯蒂安
一周热门 更多>