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

如何在WebApi中传递字符串类型的可选query string查询参数

可选QueryString参数配置解决方案

1 修正参数定义语法

你之前写的string?Place=null存在语法错误,参数类型、参数名、赋值符号之间需要保留空格,可选参数需要显式声明默认值,不同场景的正确写法如下:

  • 未开启C#可空引用类型:
public IHttpActionResult Test([FromUri] string Name, string Place = null)
  • 已开启C#可空引用类型(C# 8及以上版本支持):
public IHttpActionResult Test([FromUri] string Name, string? Place = null)

2 异常排查

如果按照上述写法修改后仍不生效,检查以下配置:

  • 确认路由模板中没有强制绑定Place参数,非必填参数不需要写入路由规则,仅在方法参数中声明即可
  • 如果是.NET Framework版本的Web API 2,优先使用string Place = null的写法,该版本对可空引用类型语法的兼容性较差

3 兼容兜底方案

如果框架版本限制无法使用默认参数,可以在方法内部做默认值赋值:

public IHttpActionResult Test([FromUri] string Name, string Place)
{
    // 不传参数时Place默认值为null,手动赋值默认值即可
    Place ??= "自定义默认值";
    // 后续业务逻辑
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:36:03