. NET API скрывает свойство в базовом классе от чванства - PullRequest
0 голосов
/ 16 июня 2020

Я работаю над REST API в C#, который является новой версией (назовем ее 2) существующего API. В интересах времени было решено, что модели новой версии должны унаследовать от старой версии. Кто-то другой уже установил это, а также наши новые контроллеры для версии 2. Сейчас мы вносим необходимые изменения для новой версии. Иногда 2 потребности, в поле 1 не было или требуются вещи, которые были необязательными в одном. Эта часть в порядке. Но в некоторых случаях элементы, которые требовались в старой версии (например, представьте, что это отчество) не требуются в этой версии, и фактически предполагается, что они полностью не являются частью запроса.

У нас есть свойства в модели версии 2, помеченные как новые с тем же именем, что и у унаследованной версии 1, чтобы скрыть свойство в базовом классе, а затем поместить [JsonIgnore] в это свойство. Так, например, у вас есть модель Person, где требуется отчество, затем модель Version2, модель Person наследуется от модели человека версии 1, и мы хотим, чтобы версия 2 не требовала отчество, не принимала отчество, не имела его. показывать чванство или что-то подобное.

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

И да ... рефакторинг был бы лучше, но в интересах экономии времени на более высоких уровнях было решено, что мы этого не делаем.

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