Я хочу, чтобы 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
}
И swagger для параметра «расширить», сгенерированное как
{
"name": "$expand",
"in": "query",
"description": "",
"required": true,
"type": "string",
"default": "None",
"enum": [
"none",
"property1",
"property2",
"property3"
]
},
Но с этим swaggerм клиент автогенерации принимает строку, я не уверен, как должно быть представлено swagger, чтобы автоматически сгенерированный клиент также принимал флаговое перечисление?





вы должны сделать expand параметр Expandable[] также ваш флаг объявлен неправильно Что означает атрибут перечисления [Flags] в C#?
вы должны сделать
expandпараметрExpandable[]также ваш флаг объявлен неправильно stackoverflow.com/questions/8447/…