Создание допустимой схемы для универсального типа в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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