Постоянно добавляйте TypeDiscriminator с помощью FastEndpoints и сериализатора System.Text.Json.C#

Место общения программистов C#
Anonymous
Постоянно добавляйте TypeDiscriminator с помощью FastEndpoints и сериализатора System.Text.Json.

Сообщение Anonymous »

Я хочу, чтобы System.Text.Json постоянно добавлял TypeDiscriminator
Я использую FastEndpoints для создания API, использующего System.Text.Json для сериализации данных.
Моя модель данных выглядит примерно так:

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

[JsonDerivedType(typeof(Type1), typeDiscriminator: "type1")]
[JsonPolymorphic(TypeDiscriminatorPropertyName = "type")]
abstract record MyBase(Guid Id);

record Type1(Guid Id, string MyProp) : MyBase(Id);
Когда я возвращаю List, сериализатор добавит дискриминатор типа в результирующий Json:

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

[
{
"type": "type1",
"id": "1234567890",
"myProp": "fu"
}
]
Но когда я возвращаю один экземпляр MyBase, сериализатор пропускает дискриминатор типов:

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

{
"id": "1234567890",
"myProp": "fu"
}
Как заставить его добавить дискриминатор типов и в этом случае?
ИЗМЕНИТЬ
По возврату Я имею в виду при вызове SendOkAsync ;)

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

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