.net webapi 获取请求头
时间: 2023-08-17 09:06:22 浏览: 292
要获取 .NET Web API 中的请求头,您可以使用以下代码:
```csharp
using System.Web.Http;
public class MyApiController : ApiController
{
[HttpGet]
public IHttpActionResult GetHeaderValue(string headerName)
{
if (Request.Headers.Contains(headerName))
{
var headerValue = Request.Headers.GetValues(headerName).FirstOrDefault();
return Ok(headerValue);
}
else
{
return NotFound();
}
}
}
```
在上面的代码中,我们创建了一个继承自 `ApiController` 的自定义控制器 `MyApiController`。其中 `GetHeaderValue` 是一个 GET 请求的动作方法,它接受一个 `headerName` 参数来指定要获取的请求头名称。
在方法内部,我们首先检查请求头是否存在,使用 `Request.Headers.Contains(headerName)` 方法来判断。然后,我们使用 `Request.Headers.GetValues(headerName)` 方法获取请求头的值,并使用 `FirstOrDefault()` 方法获取第一个值。最后,我们使用 `Ok()` 方法返回请求头的值,或者使用 `NotFound()` 方法表示请求头不存在。
请确保在 Web API 的路由配置中将 `MyApiController` 添加进去,并且配置正确的路由规则,以便能够访问到 `GetHeaderValue` 方法。
阅读全文