在我的ProductsController
中有一个这样的函数:
public IHttpActionResult GetProduct(string id)
{
var product = products.FirstOrDefault((p) => p.Id == id);
return Ok(product);
}
当我使用这个URL发送GET请求:
api/products?id=
它将id
视为null。我该如何使其将其视为空字符串?
在我的ProductsController
中有一个这样的函数:
public IHttpActionResult GetProduct(string id)
{
var product = products.FirstOrDefault((p) => p.Id == id);
return Ok(product);
}
当我使用这个URL发送GET请求:
api/products?id=
它将id
视为null。我该如何使其将其视为空字符串?
这个
public IHttpActionResult GetProduct(string id = "")
{
var product = products.FirstOrDefault((p) => p.Id == id);
return Ok(product);
}
public IHttpActionResult GetProduct(string id)
{
var product = products.FirstOrDefault((p) => p.Id == id ?? "");
return Ok(product);
}
我有一种情况需要区分未传递参数的情况(在这种情况下默认为null),和显式传递空字符串的情况。我已经使用了以下解决方案(.Net Core 2.2):
[HttpGet()]
public string GetMethod(string code = null) {
if (Request.Query.ContainsKey(nameof(code)) && code == null)
code = string.Empty;
// ....
}
string id = ""
,然后您可以调用GET api/products/
。 - Ric