Microsoft.aspnetcore.openapi генерирует документ со схемой $ refs к предыдущим свойствам того же типа вместо самой базовC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Microsoft.aspnetcore.openapi генерирует документ со схемой $ refs к предыдущим свойствам того же типа вместо самой базов

Сообщение Anonymous »

Учитывая следующий класс: < /p>

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

public record Response
{
public ImmutableList? Completes { get; init; } = null;
public ImmutableList? Incompletes { get; init; } = null;

.... // rest of class here
}
Пакет microsoft.aspnetcore.openapi будет генерировать следующий файл spec openapi:

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

"Response": {
"type": "object",
"properties": {
"Completes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TypeA"
},
"nullable": true
},
"Incompletes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/#/properties/Completes/items"
},
"nullable": true
}
}
< /code>
Обозначение пути для $ ref of "incopletes" недопустим с токеном "#" в середине пути, для инструментов API Gateway, которые я использую. Вместо этого я хотел бы, чтобы он просто ссылался на фактическую схему вместо предыдущего свойства того же типа, то есть: < /p>
"Response": {
"type": "object",
"properties": {
"Completes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TypeA"
},
"nullable": true
},
"Incompletes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TypeA"
},
"nullable": true
}
}
Как это можно достичь с помощью пакета microsoft.aspnetcore.openapi ? Просто добавлена ​​следующая строка: < /p>

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

services.AddOpenApi(ConfigureApiGen);

confgureApigen делает некоторые простые вещи, такие как настройка имен документов и т. Д.>

Подробнее здесь: https://stackoverflow.com/questions/794 ... revious-pr
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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