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

Azure:如何将独立Web API项目整合至原Web App同域名下?

当然可行!整合分离的Web API回原ASP.NET Web应用的方法

完全可以把你之前分离出去的Web API项目重新整合回原ASP.NET Web应用,实现和最初一样通过someproject.azurewebsites.net/api/controller访问API的效果,下面是具体的操作步骤:

1. 迁移API项目核心代码

  • 如果你的API是单独的类库项目:直接把Controllers文件夹、关联的Models、Services类,以及API专属的配置片段(比如appsettings里的数据库连接、第三方服务配置)复制到原Web应用项目中。
  • 如果API是独立的ASP.NET Core Web API项目:除了复制上述代码文件,还要在原项目的Program.cs里补充API所需的服务配置和中间件:
    • 添加控制器服务:builder.Services.AddControllers();
    • 在中间件管道中注册路由:app.MapControllers();(记得把这行放在合适的位置,比如静态文件中间件之后、授权中间件之前)

2. 确保/api路由前缀生效

你需要保证API控制器的路由前缀统一为api/,有两种简单的方式:

  • 逐个控制器配置:给每个API控制器添加特性[Route("api/[controller]")],比如:
    [Route("api/[controller]")]
    [ApiController]
    public class UsersController : ControllerBase
    {
        // 控制器方法
    }
    
  • 全局统一配置:如果API控制器较多,可以创建一个基类控制器,所有API控制器继承它:
    [Route("api/[controller]")]
    [ApiController]
    public abstract class ApiBaseController : ControllerBase
    {
    }
    
    这样后续的API控制器只要继承ApiBaseController,自动就带上了api/前缀。

3. 处理依赖与配置合并

  • 检查API项目用到的NuGet包,确保原Web应用已经安装了这些依赖(比如Microsoft.AspNetCore.Mvc.Core、数据库驱动包等),如果没有就通过NuGet包管理器安装。
  • 把API项目appsettings.json里的专属配置项(比如API密钥、特定的连接字符串)合并到原项目的appsettings.json中,避免配置缺失。

4. 本地测试验证

启动原Web应用,尝试访问本地地址https://localhost:xxxx/api/yourcontroller,确认API能正常返回响应,没有路由错误、依赖缺失或者配置异常的问题。

5. 重新发布到Azure Web App

把整合完成的原Web应用重新发布到你原来的Azure Web App实例,发布完成后,就可以像之前一样通过someproject.azurewebsites.net/api/controller访问你的API了。

额外注意点

  • 如果API项目有自定义的过滤器、中间件(比如日志中间件、异常处理中间件),也要把这些代码迁移到原项目,并在Program.cs中注册启用。
  • 如果之前API有跨域(CORS)配置,要确保原项目的CORS设置包含所需的访问来源,避免前端调用时出现跨域错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:17:04