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

.NET 7 Minimal API多查询参数自动映射实现方法咨询

.NET 7 Minimal API 映射多查询参数的方法

当然支持自动映射多个查询参数,完全不需要手动解析。

针对你的示例URL /o/post?id=123&filter=xyz,直接在处理程序中声明对应参数即可,ASP.NET Core的模型绑定系统会自动完成映射:

app.MapGet("/o/post", (int id, string filter) => 
{
    return $"ID: {id}, Filter: {filter}";
});

关键说明:

  • 这里的id和filter会自动匹配URL中同名的查询参数,无需额外标记;
  • 如果查询参数名和处理程序参数名不一致,可通过[FromQuery(Name = "参数名")]指定,比如查询参数是filter_val,可以写[FromQuery(Name = "filter_val")] string filter;
  • 当参数较多时,还可以封装成实体类,模型绑定会自动填充属性值:
// 定义查询参数实体类
public class PostQueryParams
{
    public int Id { get; set; }
    public string Filter { get; set; }
}

// 处理程序绑定实体类
app.MapGet("/o/post", (PostQueryParams queryParams) => 
{
    return $"ID: {queryParams.Id}, Filter: {queryParams.Filter}";
});

你提到的/{*rest}写法是用于捕获剩余路径片段的,完全不适合处理查询参数场景,没必要采用这种方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 17:56:05