Проблема с созданием документации OpenAPI с использованием .NET 9.C#

Место общения программистов C#
Ответить
Anonymous
 Проблема с созданием документации OpenAPI с использованием .NET 9.

Сообщение Anonymous »

Я пытался использовать .NET 9, OpenAPI, но обнаружил проблему.
У меня есть следующие классы моделей:

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

public class OrderResponse
{
public string Id { get; set; }
public decimal Amount { get; set; }
public List? Transactions { get; set; }
public List Items { get; set; }
}

public class Transaction
{
public string Id { get; set; }
public List Items { get; set; }
}

public class Item
{
public string Id { get; set; }
}
Я создал в контроллере метод, который отвечает OrderResponse. Я использую OpenApi и Scalar.AspNetCore для пользовательского интерфейса Doc.
Код компилируется, но когда я пытаюсь проверить файл json с помощью https://editor.swagger.io/, я получаю эту ошибку:< /p>

Семантическая ошибка в компонентах.schemas.OrderResponse.properties.items.items.$ref
Значения $ref должны быть URI с процентным кодированием, соответствующие RFC3986

Когда я проверяю файл OpenApi, я вижу эту странную ссылку в элементах:
< pre class="lang-json Prettyprint-override">

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

{
"items":
{
"type": "array",
"items": {
"$ref": "#/components/schemas/#/properties/transactions/items/properties/items/items"
}
}
}
Пользовательский интерфейс выглядит хорошо, но я не могу использовать этот json для создания клиента с помощью nswag.
Есть идеи, это ошибка в OpenAPI или я что-то сделал не так?

Подробнее здесь: https://stackoverflow.com/questions/792 ... sing-net-9
Ответить

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

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

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

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

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