首页 > 解决方案 > 将 Emptyvalue 属性添加到 Query 参数以生成开放 api yaml

问题描述

我正在使用 swashbuckle 生成 openapi yaml 配置。我有这个网址。http://localhost.com/api/comics?limit=100&likedByPeople. 这里我使用likedByPeopleEmptyValue 查询参数。我需要如下生成yaml

parameters:
    - in: query
      name: likedByPeople
      schema:
        type: boolean
      allowEmptyValue: true 

我搜索了它,但找不到路。SwaggerParameter并且SwaggerSchema两者都没有allowEmptyValue财产。但我在Microsoft.OpenApi.Models. 我不确定如何继续进行。

标签: c#swaggeropenapiswashbuckle

解决方案


我通过扩展解决了它System.Attribute并实现了相应的过滤器扩展Swashbuckle.AspNetCore.SwaggerGen.IParameterFilter。然后注册它启动configureServices。

services.AddSwaggerGen( c => {
c.ParameterFilter<SwaggerParamInfoFilter>();
})

来自AnnotationsParameterFilterSwaggerParameterInfo的例子的参考


推荐阅读