请参见下面的代码:
[HttpPut]
public async Task<IActionResult> CreatePerson([FromBody]CreatePersonCommand command, [FromHeader(Name = "x-requestid")] string requestId)
{
..
}
这是一个Web api方法,可供另一个项目访问。
客户端代码如下:
var response = await _httpClient.PutAsync(uri, personContent);
是否可以从Web api项目发送的响应中在客户端访问x-requestid?
答案 0 :(得分:-1)
如果您的HttpClient
来自System.Net.Http
。
如果您需要获得价值:
var response = await _httpClient.PutAsync(uri, personContent);
response.Headers.TryGetValues("x-requestid", out var headerValues);
如果您需要在Web API中向响应添加标头,则可以访问控制器中的Response
实体,该实体继承自ASP ControllerBase
类:
Response.Headers.Add("x-requestid", "value");