如何将自定义标头添加到ASP.NET Core Web API响应 [英] How to add custom header to ASP.NET Core Web API response

查看:452
本文介绍了如何将自定义标头添加到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();
}    

这篇关于如何将自定义标头添加到ASP.NET Core Web API响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆