ASP.NET WebAPI 2:如何在URI中将空字符串作为参数传递

Tu *_*Anh 5 c# asp.net null query-string asp.net-web-api

我有这样的功能ProductsController:

public IHttpActionResult GetProduct(string id)
{
    var product = products.FirstOrDefault((p) => p.Id == id);
    return Ok(product);
}
Run Code Online (Sandbox Code Playgroud)

当我使用此URL发送GET请求时:

 api/products?id=
Run Code Online (Sandbox Code Playgroud)

它被视为idnull.如何将其视为空字符串?

Ste*_*ris 8

这个

public IHttpActionResult GetProduct(string id = "")
{
    var product = products.FirstOrDefault((p) => p.Id == id);
    return Ok(product);
}
Run Code Online (Sandbox Code Playgroud)

或这个:

public IHttpActionResult GetProduct(string id)
{
    var product = products.FirstOrDefault((p) => p.Id == id ?? "");
    return Ok(product);
}
Run Code Online (Sandbox Code Playgroud)