Создание допустимой схемы для универсального типа в OpenAPI v3 с помощью NSwagC#

Место общения программистов C#
Anonymous
Создание допустимой схемы для универсального типа в OpenAPI v3 с помощью NSwag

Сообщение Anonymous »

Я пытаюсь создать действительный OpenApiDocument с помощью NSwag, но мне не удается сгенерировать схемы такими, какими они должны быть. В настоящее время я добавляю схемы для своих типов по всему миру следующим образом:

Код: Выделить всё

var type = ...; // e.g. List

var settings = new SystemTextJsonSchemaGeneratorSettings()
{
SchemaType = SchemaType.OpenApi3,
};

var schema = JsonSchema.FromType(type, settings);

document.Components.Schemas.Add(key, schema);

Это создает

Код: Выделить всё

    "components": {
"schemas": {
"ListOfUser": {
"title": "ListOfUser",
"type": "array",
"items": {
"$ref": "#/components/schemas/ListOfUser/definitions/User"
},
"definitions": {
"User": {
"type": "object",
"additionalProperties": false,
"properties": {
"ID": {
"type": "integer",
"format": "int32"
},
"Name": {
"type": "string"
}
}
}
}
}
}
},
Редактору Swagger не удается проверить это определение, поскольку

Код: Выделить всё

Structural error at components.schemas.ListOfUser
should NOT have additional properties
additionalProperty: definitions
Jump to line 30
Насколько я понимаю, в спецификации должно быть две записи: одна для списка и одна для самого типа, но я не понимаю, как это сгенерировать с помощью NSwag.
Нужно ли мне самому создавать две записи и вручную корректировать запись списка, чтобы это работало?

Подробнее здесь: https://stackoverflow.com/questions/790 ... with-nswag

Вернуться в «C#»