単純にクエリ文字列パーサーを作成します。
protected IDictionary<string, string> GetQueryParameters(string queryString)
{
var retval = new Dictionary<string, string>();
foreach (var item in queryString.TrimStart('?').Split(new[] {'&'}, StringSplitOptions.RemoveEmptyEntries))
{
var split = item.Split('=');
retval.Add(split[0], split[1]);
}
return retval;
}
そして、コントローラー呼び出しから:
public class DummyController : ApiController
{
[HttpGet]
public string SayHello(string name="")
{
var q = GetQueryParameters(Request.RequestUri.Query);
return string.Format("Hello {0}", name);
}
}