为什么逻辑应用 Oracle 连接器同时使用 400 和 404 来表示"not found"?



我有许多逻辑应用程序,它们使用Oracle DB连接器通过内部部署数据网关从Oracle数据库检索数据。其中一些使用GetRow操作,该操作返回使用表主键找到的单行。

有时,当我们传递未识别的ID时,操作会失败,状态代码为400或404。我确信这一点,这不是一个错误。我没有看到任何一个逻辑应用程序在两者之间切换,但同一订阅中的不同逻辑应用程序和查询同一数据库都返回了400或404。

为什么连接器在使用两个不同的状态代码来表示相同的结果之间切换?

对于这个问题,请检查您是否在"获取行";行动400中的大多数错误是由传递的参数和接收的参数之间的类型差异字段不匹配引起的。还请检查您的网关是否与两个逻辑应用程序相同,网关也可能导致400/404错误。

如果两个逻辑应用程序之间的所有配置都相同,我认为您可以通过关注此页面向azure支持团队寻求帮助,在azure门户网站上提出支持票。你的问题很难在堆栈溢出中找到答案。

问题是其中一个表没有主键,尽管我们相信它有主键。如果表未定义主键,连接器将失败,返回400 Bad Request;如果表正确但ID不存在,则返回404 Not Found。

在这种情况下,错误消息尤其没有帮助,但现在已经了解了问题。

相关内容

最新更新