Постоянно добавляйте 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
Ответить

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

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

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

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

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