当前位置: 首页 > news >正文

ASP.NET Core-路由

在后端开发里,用户并不能直接看到你的代码。他们只能通过 URL(网址) 发出请求。
路由的作用就是: 看着用户发来的网址(比如 /api/products/123),迅速反应过来:“哦!他是想看 ID 为 123 的商品,快把他带到处理‘商品详情’的那段代码去!”

如果没有路由: 用户无论敲什么网址,服务器都不知道该让哪段代码出来干活。

————————————————————————————————————————————————————————————————————

在 2026 年的 ASP.NET Core 开发中,主要有两种设置路由的方法:

属性路由 (Attribute Routing) —— 最常用、最直观

想象你有一间办公室叫 User(用户中心),里面有几个办事员。

你在办公室门口贴个牌子:[Route("user")]

你在办事员小王头上贴个牌子:[HttpGet("info")]

结果: 只要老百姓在门口大喊 “user/info”,小王就会站起来接待他。

[Route("api/books")] // 这一级是“书架”区
public class BookController : ControllerBase
{
[HttpGet("{id}")] // 这一级是“具体的某本书”
public IActionResult GetBook(int id)
{
// 如果用户访问 /api/books/5,这段代码就会运行
return Ok($"这是编号为 {id} 的书");
}
}

————————————————————————————————————————————————————————————————————

最小 API 路由 (Minimal API)

var app = builder.Build();

有些事儿很简单(比如只是问个路),不需要专门开间办公室。你直接在门口大厅摆个咨询台。

你在代码里写一句话:
如果有人喊 "hello",就回一句 "你好"。

结果: 用户只要访问网址后面带着 /hello,电脑就直接吐出一句“你好”。

// 只要有人访问 /hello,直接给回一句话
app.MapGet("/hello", () => "你好,欢迎来到 .NET 世界!");

// 访问 /order/100
app.MapGet("/order/{orderId}", (int orderId) => $"查询订单:{orderId}");

app.Run();

——————————————————————————————————————————————————————————————————————

这叫路由参数。它就像是导视牌上的“填空题”

路由设为:/user/{name}

用户输入:/user/jack -> 程序自动把 "jack" 赋值给 name 变量。

用户输入:/user/rose -> 程序自动把 "rose" 赋值给 name 变量。

——————————————————————————————————————————————————————————————————————

路由 = 网址到代码的“翻译官”。

作用 = 保证用户的请求能找到正确的处理人。

用法 =

在 Program.cs 里开启路由功能(默认已开启)。

用 [Route] 标签(传统派)或者 app.MapGet(现代派)来规定路径。

——————————————————————————————————————————————————————————————————————

这是路由最聪明的地方,叫“挖坑填数”

如果你有 1000 个用户,你总不能准备 1000 个路由吧?(比如 /user/1、/user/2...)
于是你做了一个通用的牌子:[HttpGet("user/{编号}")]。

用户喊:user/58

电脑一看:嘿,正好对上那个牌子了!它会自动把 58 这个数抓出来,交给后台代码去查第 58 号人。

http://www.jsqmd.com/news/655812/

相关文章:

  • 百度网盘直链解析终极指南:告别限速,实现满速下载
  • 从新闻海洋到数据金矿:GDELT数据库核心架构与应用场景全解析
  • RM系统哪家好?十大权威CRM产品实测(2026版) - 毛毛鱼的夏天
  • Free Texture Packer技术解析:高效纹理打包架构与性能优化方案
  • 布局页面
  • 2026年重庆防排烟管道公司好评榜,异形弯头/镀锌风管/消防风管/白铁风管/双层不锈钢烟囱 - 品牌策略师
  • 甘肃小学语文辅导哪家好?巨人培训:15年城关老牌,小升初冲刺更靠谱 - 深度智识库
  • STM32F407也能当示波器?手把手教你复刻电赛J题波形识别装置(附完整代码与PCB)
  • 希岸Deluxe酒店:如何将“法式优雅”转化为可落地的商业模式 - 资讯焦点
  • 为什么越来越多 AI 项目开始使用 .ai 域名?
  • 细胞因子聚焦:白细胞介素中的促炎“先锋军”
  • 天龙八部单机版GM工具:3个核心功能让你轻松掌控游戏数据
  • 2026年物联网APP开发十大品牌,谁通过了官方备案与IoT兼容性双认证?
  • 如何免费解锁Cursor Pro完整功能:终极AI编程助手破解指南
  • 松鼠便利和普通外卖便利店有什么区别?更优惠吗?【松鼠便利19】全品类满减福利实测攻略 - 资讯焦点
  • 从‘稳准快’到实战:用MATLAB手把手分析二阶系统的动态性能(附代码)
  • 从市场份额到实战体验:15 款顶尖CRM系统深度横评 - 毛毛鱼的夏天
  • 优麦云折扣码是什么?优麦云erp能解决什么问题 - 李先生sir
  • 从《未来编年史》到现实:聊聊火星殖民、世界政府与‘灵性科技’的百年预言靠谱吗?
  • 2026年华东、华中、华南热力系统直埋保温管与热电联产工程解决方案(含官方联系方式) - 精选优质企业推荐官
  • 低代码开发:CLAP模型与Streamlit快速搭建分类Demo
  • 用CC2530和Z-Stack点亮你的第一个物联网设备:GPIO控制实战解析
  • 2026年SAT高效提分培训机构哪家好?高分冲刺、快速提分与快速出分机构真实推荐 - 品牌2026
  • 2026低空平台低空平台推荐,冰柏科技值得一试 - 品牌2026
  • FPGA新手必看:Xilinx IDDR与ODDR原语实战指南(附AD9361接口案例)
  • Kylin V10源码编译PostgreSQL 14实战指南
  • 手把手教你用GitHub和Zenodo管理预印本,实现论文版本控制与数据开源
  • 2026广东塑木地板厂家技术指南:从选型到售后全解析 - 速递信息
  • 根节点不存完整行数据!InnoDB B + 树「层级分工 + 索引定位」全拆解
  • 为什么92%的AI编程工具在中文+英文混合场景下生成失效?——全链路多语言上下文建模白皮书首发