我正在使用由 Asp.net Web Api 生成的默认模板。我正在使用 Get() 部分:
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
出于某种原因,我认为访问查询字符串唯一要做的就是创建一个输入字符串变量。因此,我为生成的默认控制器创建了另一个功能(我所做的唯一更改):
public IEnumerable<string> Get(string queryString)
{
return new string[] { "value3", "value4" };
}
我在这两种方法中都设置了一个断点,但即使我添加了一个查询字符串,它也总是会在没有参数的情况下进入函数。所以如果我去http://mybaseurl/api/values?foo=f
它仍然会去获取()而不是获取(字符串查询字符串)。它不像我想的那样工作吗?我知道我可以使用 Get() 函数访问查询字符串,Request.RequestUri.ParseQueryString();
但如果可能的话,我更喜欢这样分开。