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

如何通过C#代码配置Swagger规范扩展,为info节点添加自定义属性

你用的Swashbuckle.AspNetCore库提供的OpenApiInfo原生支持扩展属性添加,不需要自定义子类继承,直接操作自带的Extensions集合即可:

正确实现代码

options.SwaggerDoc(Swagger.Version, new OpenApiInfo
{
    Title = "Service Api",
    Version = Swagger.Version,
    Description = "This describes the routes associated with the Service Api.",
    // 新增扩展属性配置
    Extensions = 
    {
        // 键为带x-前缀的自定义属性名,值为对应IOpenApiAny类型的内容
        { "x-test", new Microsoft.OpenApi.Any.OpenApiString("New Value") },
        // 可继续添加更多扩展属性
        // { "x-author", new OpenApiString("团队名称") }
    }
});

原方案失效原因

Swashbuckle序列化OpenAPI文档时,只会识别OpenApiInfo原生定义的标准属性和Extensions集合内的键值对,自定义子类新增的属性不会被纳入序列化逻辑,因此无法生成到最终的swagger.json中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:54:03