0

我们目前正在处理我们提供的 OData 接口的性能问题,因为 UI5 发出带有多个扩展路径的读取请求。由于框架对请求的通用处理,这会导致每个扩展选项的额外处理,我们需要防止这种情况发生。

阅读有关此主题的博客似乎有一种方法可以以某种方式覆盖通用处理:

https://blogs.sap.com/2018/03/19/sap-cloud-platform-sdk-for-service-development-create-odata-service-7-more-navigation-read-create-expand-sqo/

在这种情况下,我们需要决定是否有能力依赖 FWK 功能。当然,这样的通用支持不可能是高性能的。但是对于少量数据,免费获得它是一件好事。请继续关注以了解如何使用自己的特定实现来覆盖此类通用 FWK 功能。

但是,没有关于此的进一步博客文章并查看框架,我唯一的想法是覆盖它是配置和使用自己的 com.sap.gateway.core.api.provider.data.IDataProvider 实现来处理请求以自定义方式,尽管这将是一个巨大的解决方法。

所以问题是是否有一些更精简或更简单的方法来覆盖我错过的这个功能?

更新: 我更新以创建自定义数据提供程序并在 servlet 初始化后将其注册到 RuntimeDelegate。然后,此自定义数据提供程序将检查映射方法处理程序上的自定义注释,以查看是否应处理扩展。如果不是,它只会读取实体,但不会执行通用扩展读取。这或多或少都很好,但当然缺少的是一种在 ReadRequest 中传递要扩展的属性的方法。到目前为止,只有一个静态实现可能解决我们的性能问题,但如果有另一个更好的解决方案,我很乐意提供提示......

4

1 回答 1

1

在撰写本文时,目前还没有更好的方法。

于 2019-10-16T09:44:48.493 回答