我正在使用WEB API 2.0进行REST服务开发,我需要从请求头传递一个参数到API控制器操作方法。我怎么能呢?
默认情况下,API控制器从请求体中读取参数。我怎么能使它从请求头读取参数?
[HttpPost]
[Route("abc")]
public IHttpActionResult abcMethod(string s)
{
//some code
}
我希望上面的abcMethod从请求头读取它的参数。
请建议。
这个怎么样?
IEnumerable<string> headerValues = request.Headers.GetValues("MyCustomID");
var id = headerValues.FirstOrDefault();
我还不熟悉Web API 2,但我通常这样做
string variale = this.Request.Headers.GetValues("HeaderParameter").First();
任何一个FirstOrDefault, Single, SingleOrDefault()或任何类似的都可以工作。
同样,Lambda也可以工作:
string variable = this.Request.Headers.First(header => header.Key == "Parameter").Value.FirstOrDefault();