Я использую шаблон по умолчанию, созданный 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() вместо get (string queryString). Разве это не работает так, как я думал? Я знаю, что могу получить доступ к строке запроса в функции Get(), используя Request.RequestUri.ParseQueryString();
, но я предпочитаю, чтобы она была разделена, если это возможно.