如何区分对 SAP 的调用是来自 OData API 还是来自 Fiori 应用程序

How to differentiate whether a call to SAP is from OData API or Fiori app

我有一个需求,想知道对特定应用程序的调用是来自 Odata API 调用(第三方)还是 Fiori 应用程序

第三方应用程序将使用我们的 OData API 来调用这些事务。

我正在使用 FM GUI_GET_DESKTOP_INFO 来识别它是来自 GUI 还是来自 Fiori 应用程序。

现在我在判断它是来自第三方应用程序还是Fiori应用程序

时遇到冲突

基本上,您的 Fiori 应用使用与您的 oData API 相同的 OData 服务,并且在 Gateway,您无法告诉消费者。

当然,对于您的 Fiori 应用程序,您可以在 HTTP 调用中放置一些指示器 (Header) 或类似的方法让 Gateway 知道这些请求是从您的 Fiori 应用程序发送的。但是 OData API 的客户可以做同样的事情来欺骗您的后端逻辑。

如果您有很强的商业理由来区分消费者,请考虑拥有一个单独的 oData API(新的 OData 服务并尽可能重用您的后端逻辑)。