You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure API Management未列出.NET Core API端点/方法的解决办法

解决Azure API Management导入App Service API后看不到端点的问题

排查与解决步骤

1. 确认Swagger在生产环境可访问

默认.NET Core的Swagger可能仅在开发环境启用,需检查Program.cs(或Startup.cs)配置,确保生产环境能访问Swagger JSON文件:

// 注册Swagger生成服务
builder.Services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("v1", new OpenApiInfo { Title = "你的API名称", Version = "v1" });
});

// 启用Swagger中间件(确保在所有环境或APIM可访问的环境中启用)
app.UseSwagger();
app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "你的API V1");
});

部署后直接访问https://<你的App Service名称>.azurewebsites.net/swagger/v1/swagger.json,确认能正常返回JSON内容。

2. 检查网络访问权限

若App Service配置了IP限制、VNet集成或私有端点,需确保APIM的IP地址能访问App Service:

  • 进入App Service的网络设置,在访问限制中添加APIM的出站IP地址(可在APIM资源的概述页面查看)
  • 若使用VNet,将APIM和App Service加入同一VNet,或为App Service启用针对APIM的服务端点

3. 手动指定OpenAPI文档URL重新导入

自动导入App Service可能无法正确识别Swagger路径,可改用OpenAPI方式手动导入:

  • 在APIM的APIs页面点击"添加API"
  • 选择"OpenAPI"选项
  • 输入Swagger JSON的完整URL(如https://<你的App Service名称>.azurewebsites.net/swagger/v1/swagger.json),填写API名称等信息后完成创建

4. 确认API已部署到产品

导入的API需部署到APIM产品才能可见:

  • 进入目标API的部署标签页
  • 选择要部署的产品(如默认的Unlimited),点击"部署",确保产品处于发布状态

5. 验证Swagger文档格式

将Swagger JSON内容复制到Swagger Editor中,检查是否存在语法错误或不符合OpenAPI规范的内容,修复后重新导入。

6. 检查App Service HTTPS配置

确保App Service启用HTTPS且证书有效,APIM导入时使用HTTPS URL,避免因HTTP访问被拦截导致无法获取Swagger文档。


内容的提问来源于stack exchange,提问作者OpenStack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 09:15:39