【问题标题】:How to override description 'No parameters' in Swagger for .Net Core Web Api?如何在 Swagger 中为 .Net Core Web Api 覆盖描述“无参数”?
【发布时间】:2021-12-11 19:40:21
【问题描述】:

在 .Net Core Web Api 项目中,我有 Get 不需要传递请求数据。默认情况下,SwaggerUi 在参数选项卡下生成“无参数”描述。见下文。

我的目标是用其他东西替换“无参数”字符串。我想添加其他信息,为什么不需要参数。如果可能,请分享知识。

【问题讨论】:

  • 你的意思是想在请求API的Parameters模块中自定义需要修改的内容而不传参数?
  • API 不包含任何 FromQuery 或 FromRoute 参数。它是无参数的,因此大摇大摆地在 UI 上显示“无参数”消息。是的,我想自定义该消息。

标签: c# swagger asp.net-core-webapi swagger-ui


【解决方案1】:

找了半天也没找到修改参数自定义内容的方法,不过你可以在url上加上你需要的备注,像这样:

为了启用 XML cmets,我们需要执行以下步骤:

1.在项目属性的构建选项卡中,选中标记为 XML 文档文件的框。让我们保留自动生成的文件路径。

2. 抑制警告 1591,它现在将对任何没有三斜杠 cmets 的方法、类或字段发出警告。

在 ConfigureServices() 方法中,配置 Swagger 以使用在上述步骤中生成的 XML 文件:

public void ConfigureServices(IServiceCollection services)
{
    // Register the Swagger generator, defining 1 or more Swagger documents
    services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1", new OpenApiInfo
       //......TODO

// Set the comments path for the Swagger JSON and UI.
        var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
        var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
        c.IncludeXmlComments(xmlPath);
    });

现在,向 action 方法添加三斜杠 cmets 通过向节标题添加描述来增强 Swagger UI。

 /// <summary>
        /// This is test    
        /// </summary>
        /// 
        /// 
       [Route("test")]
       [HttpGet]
        public string Test()
        {
            return "v1 test";
        }

结果:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 2018-05-13
    • 1970-01-01
    • 2020-11-21
    • 1970-01-01
    相关资源
    最近更新 更多