/// <summary>
/// 获取Http请求Get和Post所有参数
/// </summary>
/// <param name="request">HttpRequestMessage实例</param>
/// <returns>Get和Post参数键值对集合</returns>
public static class HttpRequestMessageExtensions
{
public static IDictionary<string, string> GetAllQueryParameters(this HttpRequestMessage request)
{
NameValueCollection queryString = HttpContext.Current.Request.QueryString;
NameValueCollection form = HttpContext.Current.Request.Form;
IDictionary<string, string> queryParameters = new Dictionary<string, string>();
foreach (string key in queryString)
{
if (!queryParameters.ContainsKey(key))
{
queryParameters.Add(key, queryString[key]);
}
}
foreach (string key in form)
{
if (!queryParameters.ContainsKey(key))
{
queryParameters.Add(key, form[key]);
}
}
return queryParameters;
}
}
使用方法:
public class testController : ApiController
{
public void Get()
{
IDictionary<string, string> queryParameters = Request.GetAllQueryParameters();
}
}