在ASP.NET Core Web API控制器中,可以通过注入HttpContextAccessor来访问每个请求的HTTP标头。下面是一个示例代码:
Microsoft.AspNetCore.Http和Microsoft.AspNetCore.Mvc命名空间添加到控制器文件的顶部。using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
HttpContextAccessor。private readonly IHttpContextAccessor _httpContextAccessor;
public MyController(IHttpContextAccessor httpContextAccessor)
{
_httpContextAccessor = httpContextAccessor;
}
HttpContext的Request属性来访问HTTP标头。[HttpGet]
public IActionResult GetHeaderValue(string headerName)
{
var headerValue = _httpContextAccessor.HttpContext.Request.Headers[headerName].ToString();
return Ok(headerValue);
}
在上面的示例中,GetHeaderValue方法接受一个headerName参数,用于指定要提取的HTTP标头名称。然后,通过_httpContextAccessor.HttpContext.Request.Headers来访问请求的HTTP标头,并将其作为字符串返回。
请注意,为了使上述代码生效,还需要在Startup.cs文件的ConfigureServices方法中注册HttpContextAccessor:
services.AddHttpContextAccessor();
这样,你就可以在ASP.NET Core Web API控制器中提取每个请求的HTTP标头了。