如何将自定义标头添加到ASP.NET Core Web API响应
我正在将我的API从Web API 2移植到ASP.NET Core Web API.我曾经能够通过以下方式添加自定义标头:
I am porting my API from Web API 2 to ASP.NET Core Web API. I used to be able to add a custom header in the following manner:
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
response.Headers.Add("X-Total-Count", count.ToString());
return ResponseMessage(response);
如何在ASP.NET Core Web API中添加自定义标头?
How does one add a custom header in ASP.NET Core Web API?
您可以从传入的Http Request
中劫持HttpContext
并将您自己的自定义标头添加到Response
对象,然后再调用return.
You can just hi-jack the HttpContext
from the incoming Http Request
and add your own custom headers to the Response
object before calling return.
如果要保留自定义标头并将其添加到多个控制器的所有API请求中,则应考虑制作一个Middleware
组件为您执行此操作,然后将其添加到中的Http Request Pipeline中Startup.cs
If you want your custom header to persist and be added in all API requests across multiple controllers, you should then consider making a Middleware
component that does this for you and then add it in the Http Request Pipeline in Startup.cs
public IActionResult SendResponse()
{
Response.Headers.Add("X-Total-Count", "20");
return Ok();
}