【发布时间】:2021-09-25 00:11:03
【问题描述】:
我们有一个应用程序需要提供一些字段。如果这些字段不存在,我们将返回 400 响应,解释正确的错误消息中缺少的内容。将 APIM 添加到混合中似乎会使它复杂化很多。由于 APIM 知道该字段是必需的,因此它看起来会缩短 curcuit 并返回 404 并带有通用消息,而不是我们自我解释的错误消息。
这是为 APIM 关闭此功能的一种方式吗?
【问题讨论】:
-
按字段,你是指查询参数吗?
-
是的。我们有一些必填字段。我确实理解 APIM 是按照其最佳意图做某事,但我宁愿在此处控制错误消息。
-
如果查询参数中缺少字段,我认为它不会响应 404。当您请求不正确的 url 时,可能只是响应 404 错误。您能否提供您的后端网址示例以及您的 APIM api 示例?
-
但这就是问题所在。由于我们有所需的查询参数,因此如果缺少所需的参数,apim 将使用 404 短路请求并返回 404,而不是让查询通过应用程序。所以也许这是错误的描述。
-
我自己遇到了这个问题。我发现 APIM 正在将我所需的查询参数作为模板参数导入,这会导致在未提供查询时 URL 匹配失败。但是,可以在从 OpenAPI 规范导入端点后对其进行编辑。我能够删除模板参数并添加所需的查询参数,它按预期工作。在docs.microsoft.com/en-us/answers/questions/829259/… 看到我的问题
标签: azure azure-api-management