APIM 请求 URL 可选路径

问题描述 投票:0回答:1

我正在使用 APIM 从外部服务获取数据(当然指向逻辑应用 HTTP 请求,使用 POST 方法)。该服务具有动态 URL,这些 URL 会在循环中连续传递到我的 APIM API。

例如,它会向我发送一个动态 URL,例如

baseurl/one
,然后是
baseurl/one/two
,所有这些都在一个循环中尝试传递给我的 APIM。

问题在于 APIM 前端不接受模板参数的可选参数 (

baseurl/{one}/{two}
)。他们必须被要求。我尝试在 OpenAPI 编辑器中打开,并将参数设置为 false。它告诉我它只允许我设置为 true。

因此,当 APIM 看到

baseurl/one
时,它会导致服务出错,因为 APIM 需要
{two}
参数。有没有办法通过策略让 APIM 忽略
{two}
可选参数?

我尝试在条件中使用

<path segment="/optionalPath" />
来检查 URL 段长度,但 APIM 显然不允许这样做。或者甚至检查是否设置了
{par2}
然后需要它,否则只需使用
{one}

azure azure-logic-apps azure-api-management
1个回答
0
投票

问题在于 APIM 前端不接受模板参数的可选参数 (

baseurl/{one}/{two}
)。他们必须被要求。我尝试在 OpenAPI 编辑器中打开,并将参数设置为 false。它告诉我它只允许我设置为 true。

是的,模板/路径参数是必需的,据我所知,我们无法在 APIM 中将它们定义为可选。

enter image description here

您可以将参数作为查询参数,以在 Required 复选框的帮助下选择性地接受值。

enter image description here

或者您可以将它们添加为单独的操作,如下所示。

添加了API-

enter image description here

然后添加了里面所有的Operations-

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.