在构建现代 Web 应用程序时,ASP.NET Core 路由配置是开发者必须掌握的核心技能之一。本文将从零开始,详细讲解如何在 ASP.NET Core 中配置路由、添加路由约束,并结合实际代码示例,帮助你快速上手Web API 路由的设计与实现。无论你是初学者还是有一定经验的开发者,这篇ASP.NET Core 开发教程都将为你提供清晰、实用的指导。
路由(Routing)是 ASP.NET Core 中用于将 HTTP 请求映射到相应处理程序(如控制器中的 Action 方法)的机制。简单来说,当你在浏览器中访问 /api/users/1 时,路由系统会决定由哪个方法来处理这个请求。
ASP.NET Core 提供了两种主要的路由配置方式:
Program.cs(或早期版本的 Startup.cs)中定义模板规则。// Program.cs(.NET 6+)var builder = WebApplication.CreateBuilder(args);var app = builder.Build();app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}");app.Run(); 上述代码表示:默认情况下,访问 /Products/Details/5 将调用 ProductsController 中的 Details 方法,并传入参数 id=5。
[ApiController][Route("api/[controller]")]public class UsersController : ControllerBase{ [HttpGet("{id}")] public IActionResult GetUser(int id) { // 返回用户信息 return Ok(new { Id = id, Name = "张三" }); } [HttpPost] public IActionResult CreateUser([FromBody] User user) { // 创建新用户 return CreatedAtAction(nameof(GetUser), new { id = user.Id }, user); }} 使用属性路由后,访问 /api/users/1 将自动调用 GetUser(1) 方法。
为了确保传入的参数符合预期类型或格式,ASP.NET Core 提供了路由约束功能。例如,你可以限制 id 必须是整数,而不是字符串。
// 仅当 id 是整数时才匹配[HttpGet("{id:int}")]public IActionResult GetUserById(int id){ return Ok(new { Id = id });}// 仅当 email 符合邮箱格式时才匹配[HttpGet("search/{email:regex(^\\w+@\\w+\\.\\w+$)}")]public IActionResult SearchByEmail(string email){ return Ok(new { Email = email });}// 限制 id 在 1 到 1000 之间[HttpGet("details/{id:range(1, 1000)}")]public IActionResult GetUserDetails(int id){ return Ok(new { Id = id });} 常用约束包括:
int:整数bool:布尔值datetime:日期时间minlength(n) / maxlength(n):字符串长度限制range(min, max):数值范围regex(pattern):正则表达式匹配通过本篇ASP.NET Core开发教程,你应该已经掌握了如何配置基本路由、使用属性路由以及添加各种路由约束。这些知识是构建健壮、安全的 Web API 的基础。希望你在实际项目中灵活运用这些技巧,提升开发效率与应用质量!
如果你正在学习 ASP.NET Core 路由配置 或设计 Web API 路由,不妨动手实践一下文中的代码示例,加深理解。
本文由主机测评网于2025-12-27发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20251213230.html