Asp.net mvc 如何在Swashback中读取自定义标题?
我使用以下代码向操作添加自定义头:Asp.net mvc 如何在Swashback中读取自定义标题?,asp.net-mvc,swagger,swashbuckle,Asp.net Mvc,Swagger,Swashbuckle,我使用以下代码向操作添加自定义头: public class RequestIdParameter : IOperationFilter { public void Apply(Swashbuckle.Swagger.Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription) { if (operation == null) return;
public class RequestIdParameter : IOperationFilter
{
public void Apply(Swashbuckle.Swagger.Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
{
if (operation == null) return;
if (operation.parameters == null)
{
operation.parameters = new List<Parameter>();
}
var requestParameter = new Parameter
{
description = "RequestId",
@in = "header",
name = "RequestId",
required = true,
type = "string"
};
operation.parameters.Add(requestParameter);
}
}
试试这个:
if (HttpContext.Current.Request.Headers.Contains("RequestId"))
{
string value = HttpContext.Current.Request.Headers.GetValues("RequestId").FirstOrDefault();
}
或
IEnumerable headerValue;
if(HttpContext.Current.Request.Headers.TryGetValues(“RequestId”,out headerValues))
{
字符串值=headerValues.FirstOrDefault();
}
参数的名称是RequestId
,但您正在查找参数RequestId
。您确定这不是区分大小写的问题吗?请尝试HttpContext.Current.Request.Headers[“requestid”]
if (HttpContext.Current.Request.Headers.Contains("RequestId"))
{
string value = HttpContext.Current.Request.Headers.GetValues("RequestId").FirstOrDefault();
}
IEnumerable<string> headerValues;
if (HttpContext.Current.Request.Headers.TryGetValues("RequestId", out headerValues))
{
string value = headerValues.FirstOrDefault();
}