Azure APIM中两个API共享同一URL后缀的实现问题咨询
Azure APIM 多API路径配置问题解答
核心结论
同属一个版本集的多个API,不能使用/作为空后缀。版本集的设计目的是为同一API的不同版本提供路由区分(比如v1/v2),而非让不同API共享空后缀。
问题根源
你想要的URL结构https://<Azure.APIM>/MyProject/services和https://<Azure.APIM>/MyProject/products,本质是让两个API共享MyProject作为父路径,各自用services和products作为子路径。但你之前的操作混淆了版本集和URL前缀/后缀的作用:
- 你将
services加入版本集并设置v1为版本,这会让它的路径变成https://<Azure.APIM>/v1/services,而非你期望的/MyProject/services - 尝试创建
products时,错误地试图配置冲突的路径,导致触发报错
正确配置步骤
- 设置统一URL前缀:
在两个API的创建页面,将“URL前缀”字段统一填写为MyProject。 - 配置不同API后缀:
servicesAPI的URL后缀设为servicesproductsAPI的URL后缀设为products
完成后两个API的最终路径将符合你的需求:https://<Azure.APIM>/MyProject/serviceshttps://<Azure.APIM>/MyProject/products
- 版本集的正确用法(可选):
如果后续需要为单个API(比如services)添加版本迭代(v1/v2),再针对该API单独创建版本集。版本集是为同一API的不同版本服务的,不是用来区分不同API的。
错误提示的解释
你收到的“除非处于同一版本集,否则无法使用相同后缀”提示,仅在两个API试图使用完全相同的完整路径时触发(比如都用MyProject作为唯一后缀)。而你的需求是共享父路径、区分子路径,根本不需要依赖版本集,只要正确设置前缀和后缀即可。
内容的提问来源于stack exchange,提问作者TMatthews
相关产品推荐
相关产品推荐

