Azure API 管理 API 端点未按预期显示

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

我创建了一个全新的函数应用程序并导入到 APIM。我尝试了以下选项来与客户期望的 API APIM 端点保持一致。但有些有效,有些则失败。

定义 APIM 后缀和 Function App 路由 url 真的很困惑?最好的考虑和遵循的做法是什么?

re-writeurl
政策在这种情况下有帮助吗?

预期客户 APIM 端点:

https://dev-contoso-apim.azure-api.net/api/v1.0/appointments/availableDates/?serviceId=1&branchId=2&startDate=2024-02-01

功能名称:

dev-contoso-appointments-func

APIM主持人:

dev-contoso-apim.azure-api.net

APIM 中预约 API 集合的设置。

函数API的路由在服务器端定义,如下所示

选项1:如果我在服务器端将函数api路由更改为

Route="availableDates"
并将APIM前缀url添加为
api/v1.0/appointments
,则APIM端点将显示为预期,如下所示并成功工作。

查询: 我不希望将来提供 APIM 前缀 URL 如果我需要 V2 版本?我还可以添加吗?

预期 APIM 端点:

https://dev-contoso-apim.azure-api.net/api/v1.0/appointments/availableDates/?serviceId=1&branchId=2&startDate=2024-02-01

选项2:如果我按原样保留

Route = "v1.0/appointments/availableDates/"
并将APIM前缀url设置为空,APIM端点不是预期的端点,但APIM API正在成功工作。

实际 APIM 端点:

https://dev-contoso-apim.azure-api.net/v1.0/appointments/availableDates/availableTimes/?serviceId=1&branchId=2&startDate=2024-02-01

预期 APIM 端点:

https://dev-contoso-apim.azure-api.net/api/v1.0/appointments/api/v1.0/appointments/availableDates/?serviceId=1&branchId=2&startDate=2024-02-01

注意

/api
在实际 APIM 端点中不存在。

如何在选项2中设置我的APIM前缀和路由?

选项3: 如果我保留

Route = "v1.0/appointments/availableDates/"
并将 APIM 前缀 url 设置为
api
APIM 端点是预期端点,但 APIM API 无法正常工作。 错误:找不到资源。

如何在选项2中设置我的APIM前缀和路由?

实际 APIM 端点:

https://dev-contoso-apim.azure-api.net/api/v1.0/appointments/availableDates/availableTimes/?serviceId=1&branchId=2&startDate=2024-02-01

预期 APIM 端点:

https://dev-contoso-apim.azure-api.net/api/v1.0/appointments/api/v1.0/appointments/availableDates/?serviceId=1&branchId=2&startDate=2024-02-01

xml url-rewriting azure-api-management apim
1个回答
0
投票

我已经在函数中设置了

route="v1.0/appointments/availableDates/"
并将函数导入到APIM中,如下所示-

enter image description here

enter image description here

通过添加 API URL 后缀为

api/
,端点将变为
https://{apim-name}.azure-api.net/api/v1.0/appointments/availableDates/?serviceId=1&branchId=2&startDate=2024-02-01
。我在测试时能够得到预期的输出。

enter image description here enter image description here

其次,您还可以将函数路径设置为

api/v1.0/appointments/availableDates/
,导入时将APIM后缀设置为空。

重写 URL 策略可用于添加查询字符串参数。

enter image description here

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