Теперь у меня есть пользовательский объект, который имеет три обязательных атрибута:
{Имя,
Фамилия,
CreatedTime
}.
Теперь я разработал API для создания пользователя. Я хочу использовать POST /api/users.
Я должен передать данные Джейсона, и они содержат данные, которые я хочу опубликовать.
Если я передаю {FirstName = abc, LastName = abc, CreatedTime = sometime}, это работает, но если я пропущу какой-либо атрибут, например, только передавая {firstname = abc}, произойдет исключение.
Я вставил свой метод ниже.
[Route("api/users")]
public User CreateUser(User user)
{
if (!ModelState.IsValid)
throw new HttpResponseException(HttpStatusCode.BadRequest);
user.FirstName = String.IsNullOrEmpty(user.FirstName) ? "Undefined" : user.FirstName;
user.LastName = String.IsNullOrEmpty(user.LastName) ? "Undefined" : user.LastName;
user.UserName = String.IsNullOrEmpty(user.UserName) ? "Undefined" : user.UserName;
user.ModifiedAt = DateTime.Now;
user.CreatedAt = DateTime.Now;
_context.Users.Add(user);
_context.SaveChanges();
return user;
}
Мой вопрос: есть ли способ, которым я могу передать частичные свойства пользователя? Такие как {имя = abc}.
Этот метод также можно использовать как PUT (метод обновления пользователя).
Заранее спасибо.