You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为FromHeaderAttribute添加描述?FromHeader仅含Name属性无描述

给FromHeader参数加描述的几种方法

[FromHeader]本身确实不带描述属性,但在ASP.NET Core项目里可以通过以下方式给Header参数添加描述:

1. 使用[Description]属性

先引用System.ComponentModel命名空间,直接给参数添加该属性定义描述:

using System.ComponentModel;

public async Task<IActionResult> Test([FromHeader][Description("JWT授权令牌,格式为Bearer {Token}")] string Authorization)
{
    // 业务逻辑代码
    return Ok();
}

2. 使用[Display]属性

该属性来自System.ComponentModel.DataAnnotations命名空间,支持同时设置显示名称和描述:

using System.ComponentModel.DataAnnotations;

public async Task<IActionResult> Test([FromHeader][Display(Description = "JWT授权令牌,格式为Bearer {Token}")] string Authorization)
{
    // 业务逻辑代码
    return Ok();
}

3. 让描述在Swagger中显示(按需配置)

如果需要在Swagger文档里展示参数描述,需要先启用项目的XML注释,再配置Swagger读取注释文件:

  1. 右键项目 → 属性 → 生成 → 勾选“XML文档文件”,设置输出路径(例如bin\Debug\net6.0\你的项目名.xml)
  2. 在Program.cs中添加Swagger配置:
builder.Services.AddSwaggerGen(c =>
{
    var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
    var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
    c.IncludeXmlComments(xmlPath);
});

此时也可以直接通过XML注释给参数加描述:

/// <summary>
/// 测试接口
/// </summary>
/// <param name="Authorization">JWT授权令牌,格式为Bearer {Token}</param>
/// <returns></returns>
public async Task<IActionResult> Test([FromHeader] string Authorization)
{
    // 业务逻辑代码
    return Ok();
}

若你的截图是Swagger中未显示描述,按上述步骤配置后即可正常展示。

内容的提问来源于stack exchange,提问作者Newbie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 15:15:36