JsonIgnore только при отправке GET-запроса - PullRequest
0 голосов
/ 15 ноября 2018

Я пишу .net Web API и у меня возникли проблемы.У меня есть конечная точка / Users, которая поддерживает операции CRUD.Я не хочу, чтобы поле пароля отображалось в ответе по понятным причинам, но я хочу иметь возможность POST для / Users и отправить поле пароля (при создании нового пользователя).

В настоящее времяЯ использую [JsonIgnore], который делает то, что я хочу в случае GET / Users, но я получаю эту ошибку:

Validation failed for one or more entities. See 'EntityValidationErrors' property for more details

, когда я пытаюсь POST пользователя.Это связано с тем, что поле пароля не отправляется из-за тега [JsonIgnore].Как я могу это исправить?

Вот моя модель:

User Model

1 Ответ

0 голосов
/ 15 ноября 2018

Есть несколько способов сделать это, но самый чистый способ - создать два класса, которые будут обрезаны для его использования, или сделать свойство виртуальным, а производный класс переопределит свойство пароля и добавит атрибут.

class Base
{
    public virtual string password {get;set;}
}

class Derived : Base
{
    [JsIgnore]
    public override string password {get;set;}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...