如何在现有ASP.NET MVC Core 6项目中添加Web API端点
解决Web API端点无法访问的问题
一、检查API控制器的路由配置
确保你添加的API控制器带有正确的路由特性,示例代码如下:
using Microsoft.AspNetCore.Mvc; namespace BHFunctioning.Controllers { [ApiController] [Route("api/[controller]")] public class TestApiController : ControllerBase { [HttpGet] public IActionResult Get() { return Ok("API请求成功"); } } }
[ApiController]:标记这是API控制器,自动启用API专属特性(如自动模型验证、路由推断)[Route("api/[controller]")]:设置基础路由,[controller]会自动替换为控制器名称(比如TestApiController对应路由api/TestApi)
二、修改Program.cs添加API路由映射
在你的Program.cs中,找到路由配置区域,添加app.MapControllers();,该方法会启用API控制器的属性路由,让请求能正确匹配到API端点。修改后的关键代码片段如下:
// ... 其他中间件配置代码 ... app.UseAuthorization(); // 保留原有的MVC默认路由 app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); app.MapRazorPages(); // 添加此行,启用API控制器的属性路由 app.MapControllers(); app.Run();
三、验证访问
启动应用后,访问对应API地址,比如上面的示例控制器可访问 https://localhost:<端口>/api/TestApi,若返回预期内容则配置成功。
注意:如果你的API控制器需要身份验证,需确保请求携带正确的认证信息(如Cookie或JWT令牌),否则会被授权中间件拦截。
内容的提问来源于stack exchange,提问作者GrindingLife
相关产品推荐
相关产品推荐

