0

У меня возникла идея использовать аннотации данных для проверки модели ModelState. Это прекрасно работает. Проблема, с которой я сталкиваюсь, заключается в том, что [Required] Data Annotation применяется в полях [Key] в сообщении. Наш слой данных позаботится о настройке идентификатора, и мы не хотим, чтобы кто-либо из пользователей службы беспокоился об Id. Есть ли способ обойти это в WebApi2?"[Обязательно]" Аннотации данных, не применяемые в методах POST

Я рассмотрел вопрос this и удалив поле Идентификатор из ModelState в методе POST, прежде чем проверять действительный ModelState. Проблема в том, что мы используем фильтр для ModelState.

EDIT:

После этого некоторые дополнительные исследования, что я в основном хотел сделать, это то, что [Bind] атрибут делает в MVC. После некоторых исследований не похоже, что это функция, которая еще не реализована в WebApi. Если у кого есть какие-то идеи, не стесняйтесь публиковать их.

ответ

0

Что вы можете сделать, это заменить вашу сущность объектом передачи данных, который идентичен исходному объекту без поля идентификатора. Например,

Оригинальный объект может выглядеть следующим образом

public class User 
    { 
     [Required] 
     public Guid UserId { get; set; } 
     public string Firstname { get; set; } 
     public string Lastname { get; set; } 
     public string Username { get; set; } 
     public string Email { get; set; } 

    } 

и DTO может выглядеть следующим образом

public class UserDto 
    { 

     public string Firstname { get; set; } 
     public string Lastname { get; set; } 
     public string Username { get; set; } 
     public string Email { get; set; } 

    } 

Надеется, что это помогает.

 Смежные вопросы

  • Нет связанных вопросов^_^