多个查询字符串参数应该如何在 swagger 中呈现?

How should mulitiple query string parameters be presented in swaggers?

我希望 api 能够接受多个查询字符串,例如:

GET /{id}?expand=property1,property2

我将 api 定义为:

public Task<IActionResult> GetAsync([FromRoute] string id, [FromQuery] Expandable expand)

Flag Enum Epandable 定义为:

        [Flags]
        [JsonConverter(typeof(StringEnumConverter))]
        public enum Expandable
        {
            None = 0x0,
            Property1= 0x1,
            Property2 = 0x2,
            Property3 = 0x3
        }

参数 "expand" 的 swagger 生成为

          {
            "name": "$expand",
            "in": "query",
            "description": "",
            "required": true,
            "type": "string",
            "default": "None",
            "enum": [
              "none",
              "property1",
              "property2",
              "property3"
            ]
          },

但是有了这个 swagger,auto-gen 客户端接受一个字符串,我不确定应该如何呈现 swagger 以便自动生成的客户端也接受一个 Flag Enum?

你应该制作 expand 参数 Expandable[] 并且你的标志声明不正确 What does the [Flags] Enum Attribute mean in C#?