Переход на Asp.net core 3 изменил ответ контроллера? - PullRequest
0 голосов
/ 25 сентября 2019

после обновления до Asp.net core 3 из 2.2 я столкнулся с поведением, отличным от моего ответа, получаемого от моего тестового контроллера.

В моем контроллере я хочу вернуть все объекты, которые наследуются от"ImyInterface". До сих пор это работало нормально.Но после обновления я получу ответ, как на рисунке 1, но, как вы видите на рисунке 2, первый объект в списке имеет гораздо больше атрибутов.

изображение 1 изображение 2

Оба объекта в списке наследуются от этого интерфейса, и я могу использовать все атрибуты в программе.Так что работает нормально.Только ответ, я думаю, несколько сломлен ..

Я не знаю, почему он внезапно сжимает первый объект.Странно, если я меняю тип возвращаемого значения функции с IEnumerable на IEnumerable, ответ полностью в порядке.

Должен ли я вместо этого наследовать от абстрактного класса?что-то изменилось в новой версии .net?Кто-нибудь когда-нибудь видел это или есть какие-то идеи, почему это могло произойти ??

Заранее спасибо:)

1 Ответ

0 голосов
/ 25 сентября 2019

Это может быть связано с новым сериализатором JSON.Вы пытались повторно включить JSON.NET?

https://docs.microsoft.com/en-us/aspnet/core/migration/22-to-30?view=aspnetcore-3.0&tabs=visual-studio#jsonnet-support

Вы должны добавить JSON.NET следующим образом:

services.AddMvc()
    .AddNewtonsoftJson();

Существует также перегрузкаAddNewtonsoftJson() где вы можете настроить параметры сериализатора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...