У меня есть пользовательское связывание модели в WebAPI, в котором используется следующий метод из пространства имен `Sytem.Web.Http.ModelBinding', которое является правильным пространством имен для создания настраиваемых связывателей модели для веб-API:
public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext)
{
}
У меня есть HTTP POST
на контроллере, для которого я хочу использовать эту настраиваемую привязку модели. Опубликованный объект содержит примерно 100 полей. Хочу поменять 2. Мне нужно, чтобы привязка модели по умолчанию происходила, а затем манипулировала этим привязанным к модели объектом для этих двух полей, чтобы, как только контроллер получил объект, он был нетронутым.
Проблема в том, что я не могу связать свой объект с моделью, используя связующее по умолчанию из метода привязки модели выше. В MVC
было следующее:
base.BindModel(controllerContext, bindingContext);
Этот же подход не работает в WebAPI. Возможно, я ошибаюсь, и есть другой способ выполнить то, что я хочу, поэтому, пожалуйста, предложите, если нестандартное связывание модели не является правильным подходом. То, что я пытаюсь предотвратить, - это манипулировать размещенным объектом внутри контроллера. Я мог бы технически сделать это после привязки модели, но я пытаюсь сделать это раньше в стеке вызовов, чтобы контроллеру не нужно было беспокоиться о пользовательских манипуляциях с этими двумя полями. .
Как я могу инициировать привязку модели по умолчанию к bindingContext
в моем пользовательском связывателе модели, чтобы у меня был полностью заполненный объект, где я мог бы просто манипулировать/массировать последние 2 поля, которые мне нужны, перед возвратом?