路由(Routing)就是总调度台。它负责根据 URL、HTTP 方法等信息,把请求送到正确窗口。
app.MapGet("/services/{serviceId:int}", (int serviceId) =>
{
return Results.Ok(new { serviceId, name = "营业执照办理" });
});
app.MapGet("/tickets/{ticketId:guid}", (Guid ticketId) =>
{
return Results.Ok(new { ticketId, status = "处理中" });
});这里有几个核心概念:
/services/{serviceId:int}:路由参数。:int、:guid:路由约束。MapGet:这个窗口只接GET请求。
#路由不是“执行逻辑”,只是“找到窗口”
很多人容易混淆:
Routing 做的是“派号分流”
Endpoint 做的是“真正办理”#一个请求是怎么被路由识别的
请求:GET /services/12
Routing 总调度台检查:
- 路径像不像 /services/{serviceId}
- HTTP 方法是不是 GET
- serviceId 能不能解析成 int
全部通过 -> 分配到目标窗口
任一不通过 -> 404 或方法不匹配你可以把路由想成枢纽的一整块电子导引屏,而不是具体柜台。